随笔分类 - PHP
摘要:先说一下这个题目是有问题的,php只能发送1000个$_REQUEST参数。这其中包括了$_GET, $_POST, $_COOKIE.我是在发送1180个post参数时发现,无论怎样只能发送1000个。Q1:为什么php只能发送1000个请求参数?A1:在HTTP协议中对此是完全没有规定的。也就是1000的限制和http协议无关。 主要原因:“通过调用Hash冲突实现各种语言的拒绝服务攻击漏洞”。 PHP基于开源的hash算法,在设定特殊的key情况下,可以导致hash碰撞,最终数组退化为链表。 这样每次数组插入元素操作,均变为O(n)时间复杂度。CPU利用率飙升,最终导致服务器无法提...
阅读全文
摘要:symfony+doctrine是我们正在用的一套框架,用于设计后台。其强大的命令行可以帮助我们生成一部分代码。本文讲一下,建完数据库之后,如何使用命令行生成相应的entity&repository.CREATE TABLE `download_ranking_coefficient` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `category_level1_id` int(11) unsigned NOT NULL default 0 COMMENT '分类', `pre30d_users` ENUM('
阅读全文
摘要:最近写了几个使用php curl来获取数据的脚本. 在这里把几个脚本捏合到一起, 能够满足绝大部分curl请求了.主要功能包括:支持https.支持 post, get, head 3中请求方式支持超时检查.支持访问指定ip+host的请求.支持带cookie请求.返回结果异常时, 返回curl_getinfo等信息方便排错.function request($url, $mode, array $params=array(), $cookie='', $host=''){ $mode = strtoupper($mode); $timeout = 10; $u
阅读全文
摘要:PHP针对xml手册中列举了12个扩展,其中有几个不错的扩展:simpleXML, DOM, libxml. 前几天用到,简单介绍一下。如果解析一个已知结构的XML,最简答的莫过于simpleXML, 简单粗暴。下面给一个例子.function parseXml($xml) { # LIBXML_NOCDATA 选项用于解析 中的数据 $parser = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA); if($parser !== false) { return array(...
阅读全文
摘要:PHP下载远程文件可以通过多种方式。如果下载链接直接对应于远程文件,使用fopen($url, 'rb');返回句柄读取即可。Warning: 注意设置fopen的timeout;注意判断句柄是否为空。 1 function download($src, $dst) 2 { 3 $timeout = 100; 4 $old = ini_set('default_socket_timeout', $timeout); 5 $srcH = fopen($src, "rb"); 6 ini_set('default_socket_timeo
阅读全文

浙公网安备 33010602011771号