-
PHP实现多线程异步请求的3种方法
本文为大家讲解的PHP实现多线程异步请求的3种方法,感兴趣的同学参考下. 1、用CURL实现一步请求 CURL扩展是我们在开发过程中最常用的一种方法,他是一个强大的HTTP命令行工具,可以模拟POST/GET等HTTP请求,然后得到和提取数据,显示在"标准输出"(stdout)上面。 示例: <?php $cl = curl_init(); $curl_opt = array(CURLOPT_URL, 'http://www.phperz.com/demo.php', CURLOPT_RETURNTRANSFER, 1, CURLOPT_TIMEOUT, 1,); curl_setopt_array($cl, $curl_opt); curl_exec($ch); curl_close($ch); ?> 由于CUROPT_TIMEOUT属性最小值为1,这就意味着在客户端必须等待1秒,这也是使用CURL方法的缺点 2、用popen()函数实现异步请求 语法格式:popen...
PHP 2014-12-15 16:27:11 -
php为curl设置超时的方法
本文为大家讲解的是php中curl设置超时的方法,实例讲述了curl中各种超时设置的方法,非常实用的技巧,这在采集进非常有用,感兴趣的朋友可以参考下 访问HTTP方式很多,可以使用curl, socket, file_get_contents() 等方法。 在访问http时,需要考虑超时的问题...
PHP 2014-12-15 16:15:11 -
PHP mysql与mysqli事务使用说明
本文为大家讲解的是PHP mysql与mysqli事务使用说明,感兴趣的同学参考下。 首先, mysqli 连接是永久连接,而mysql是非永久连接...
PHP 2014-12-15 15:30:07 -
php数组去重详细示例讲解
本文为大家整理讲解的是php数组去重详细示例详解,感兴趣的同学参考下. 一维数组的重复项: 使用array_unique函数即可,使用实例如下: <?php $aa=array("apple","banana","pear","apple","wail","watermalon"); &nb...
PHP 2014-12-15 15:15:08 -
从PHP $_SERVER相关参数判断PHP $_SERVER相关参数来验证页面是否重定向的方法
本文为大家讲解的是如何从PHP $_SERVER相关参数判断PHP $_SERVER相关参数来验证页面是否重定向的方法,感兴趣同学参考下. 这篇文章主要介绍了如何通过判断PHP $_SERVER相关参数来验证页面是否重定向,但这只是在Apache环境下才有效,下面来具体的看下 如果是http://www.xxx.net/p1141.html形式的URL,可通过$_SERVER['REQUEST_URI']和$_SERVER['QUERY_STRING']值的区别来分析,最主要是如果页面是通过重定向会产生$_SERVER['REDIRECT_QUERY_STRING']和$_SERVER['REDIRECT_URL']两上参数,因此判断页面是否重定向就非常简单,只需要判断这两个值存在的情况就既可,但这只是在Apache环境下才有效。 如果是ISAPI Rewrite环境如何判断? 如果是ISAPI Rewrite环境,虽然不会产生如上$_SERVER['REDIRECT_QUERY_STRING...
PHP 2014-12-15 15:00:10 -
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
本文为大家讲解的是PHP面向对象的进阶学习(抽像类、接口、final、类常量),感兴趣的同学参考下. 一、抽像类(abstract) 在我们实际开发过程中,有些类并不需要被实例化,如前面学习到的一些父类,主要是让子类来继承,这样可以提高代码复用性 语法结构: abstract class 类名{ 属性 $name; 方法(){} //方法也可以为abstract 修饰符 function 方法名(){} } 例: abstract class animal{ public $name; public $age; //抽象方法不能有方法体,主要是为了让子类去实现; abstract public function cry(); //抽象类中可以包含抽象方法,同时也可以包含实例类方法 public function getname(){ echo $this->name; } } class Cat{ public function cry(){ echo 'ok'; } } 理...
PHP 2014-12-15 14:57:07 -
ezSQL PHP数据库操作类使用说明
本文为大家讲解的是ezSQL PHP数据库操作类使用说明,WordPress 使用的数据库操作类就是它 感兴趣的同学参考下。 WordPress 使用的数据库操作类就是它 -- ezSQL 我用了好多年了,我特别喜欢它的几个类方法,可以有效提高代码简洁度...
PHP 2014-12-15 14:33:17 -
php inc文件使用的风险和注意事项说明
本文为大家讲解的是php inc文件使用的风险和注意事项说明,感兴趣的同学参考下. 数据库使用中需要关注的主要问题之一是访问权限即用户名及密码的暴露。在编程中为了方便,一般都会用一个db.inc文件保存,如: <?php $db_user = 'myuser'; $db_pass = 'mypass'; $db_host = '127.0.0.1'; $db = mysql_connect($db_host, $db_user, $db_pass); ?> 用户名及密码都是敏感数据,是需要特别注意的...
PHP 2014-12-15 13:33:04 -
PHP字符串word末字符实现大小写互换的方法
本文是一个PHP字符串word末字符实现大小写互换的方法,感兴趣的同学参考下。 一、要求: 给出一个字符串如 “A journey of, a thousand 'miles' must can't "begin" with a single step.” ,通过 PHP 程序处理变成 “a journeY oF, A thousanD 'mileS' musT can'T "begiN" witH A singlE steP.” 这里需要注意: 1、每个单词最后的字符如果是大写就变成小写,如果是小写就变成大写...
PHP 2014-12-15 13:27:04 -
一个严格的PHP Session会话超时时间设置方法
本文为大家介绍的是一个严格的PHP Session会话超时时间设置方法,着重点在于结合两种方法保证超时时间到,会话失效,需要的朋友可以参考下 最近某个PHP项目用到了限制登录时间的功能,比如用户登录系统60分钟后如果没有操作就自动退出,我搜索了网络收集了有以下方法可供参考。 第一种方法即设置php.ini配置文件,设置session.gc_maxlifetime和session.cookie_lifetime节点属性值,当然也可以使用ini_set函数改变当前上下文环境的属性值: ini_set('session.gc_maxlifetime', "3600"); // 秒 ini_set("session.cookie_lifetime","3600"); // 秒 第二种方法即设置Session时间戳,比如下面的办法...
PHP 2014-12-15 13:24:15 -
深入解析PHP垃圾回收机制对内存泄露的处理
本文为大家深入解析了PHP垃圾回收机制对内存泄露的处理方法,感兴趣的同学参考下。 上次说到了refcount和is_ref,这里来说说内存泄露的情况 $a = array(1, 2, &$a); unset($a); 在老的PHP版本中,这里就会出现内存泄露,分析如下: 执行第一行,可以知道$a和$a[2]指向的zval refcount=2,is_ref=1 然后执行第二行,$a将会从符号表中被删除,同时指向的zval的refcount--,此时refcount=1,因为refcount!=0,故此zval不会被当做垃圾回收,但是此时我们却失去了$a[2]指向这个zval的入口,因此这个zval成了一块内存垃圾 同样的道理可以发生在类内部引用里,例如 $a = new Man(); $a->self = &$a; unset($a); 那么如何解决这种问题呢,新的GC机制采用了一个算法来解决这个问题 PHP有一个root buffer用来存储zval的节点信息,当root...
PHP 2014-12-15 13:21:08