-
php cURL和Rolling cURL并发方式比较
本文为大家讲解的是一个php cURL和Rolling cURL并发方式比较,感兴趣的同学参考下. 在实际项目或者自己编写小工具(比如新闻聚合,商品价格监控,比价)的过程中, 通常需要从第3方网站或者API接口获取数据, 在需要处理1个URL队列时, 为了提高性能, 可以采用cURL提供的curl_multi_*族函数实现简单的并发。 本文将探讨两种具体的实现方法, 并对不同的方法做简单的性能对比. 1. 经典cURL并发机制及其存在的问题 经典的cURL实现机制在网上很容易找到, 比如参考PHP在线手册的如下实现方式: function classic_curl($urls, $delay) { $queue = curl_multi_init(); $map = array(); foreach ($urls as $url) { &nbs...
PHP 2014-12-15 23:42:07 -
PHP之uniqid()函数用法详解
本文为大家讲解的是PHP中uniqid()函数的用法,包括了函数的基本用法与应用分析,是非常实用的技巧,感兴趣的朋友可以参考下 uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID。 注释:由于基于系统时间,通过该函数生成的 ID 不是最佳的...
PHP 2014-12-15 23:15:06 -
php错误:Fatal error: Cannot redeclare class解决方法
本文为大家讲解的是php错误:Fatal error: Cannot redeclare class解决方法,感兴趣的同学参考下。 错误描述: php调试报错 Fatal error: Cannot redeclare class app_vendor_category in ...... 错误原因: 说明你重复定义类啦, 我们程序员在开发的时候一般都是,做的类的自动加载吧,自动的引入文件 有时候难免重复引入文件,所以会报这个错误, 解决方法: include 'xxx.class.php'; 改成 include_once 'xxx.class.php';...
PHP 2014-12-15 23:09:17 -
PHP中ob_start()函数的用法示例讲解
本文为大家讲解的是PHP中ob_start()函数的用法示例讲解,感兴趣的同学参考下。 ob_start()函数用于打开缓冲区,比如header()函数之前如果就有输出,包括回车/空格/换行/都会有"Header had all ready send by"的错误,这时可以先用ob_start()打开缓冲区PHP代码的数据块和echo()输出都会进入缓冲区而不会立刻输出.当然打开缓冲区的作用很多,只要发挥你的想象.可以总结以下四点: 1.用于header()之前 ob_start(); //打开缓冲区 echo /"Hellon/"; //输出 header("location:index.php"); //把浏览器重定向到index.php ob_end_flush();//输出全部内容到浏览器 ?> 2.phpinfo()函数可获取客户端和服务器端的信息,但要保存客户端信息用缓冲区的方法是最好的选择. ob_start(); //打开缓冲区 phpinfo(); //使用phpinfo...
PHP 2014-12-15 22:54:04 -
php冒泡排序、快速排序、快速查找、二维数组去重示例代码
本文是一个php冒泡排序、快速排序、快速查找、二维数组去重示例代码,感兴趣的同学参考下。 一、冒泡排序 //冒泡排序 function bubble_sort($array) { $count=count($array); if($count <= 0){ return false; } for($i=0;$i<$count;$i++){ for($j=0;$j<$count-$i-1;$j++){ if( $array[$j] > $array[$j+1] ){ &nbs...
PHP 2014-12-15 22:51:08 -
PHP实现定时执行计划任务的多种方法小结
本文为大家整理总结了PHP实现定时执行计划任务的多种方法,感兴趣的同学参考下。 PHP定时执行的三种方式实现 1、windows 的计划任务 2、linux的脚本程序 3、让web浏览器定时刷新 具体实现 windows计划任务 PHP很少在win服务器上跑,具体实现也不再深究,看网上实现的原理大概是写bat脚本,然后让window任务(at服务)添加执行这个bat脚本 linux 的脚本实现 这里主要使用到crontab这个命令, 使用方式 : crontab filecrontab [ -u user ] [ -u user ] { -l | -r | -e } 说明 : crontab 是用来让使用者在固定时间或固定间隔执行程式之用 使用crontab写shell脚本,然后让PHP调用shell,这个是利用linux的特性,应该还不算PHP自身语言的特性 PHP实现定时执行计划任务 使用php让浏览器刷新需要解决几个问题 PHP脚本执行时间限制,默认的是30m 解决办法:set_time_l...
PHP 2014-12-15 22:27:14 -
PHP static局部静态变量和全局静态变量使用总结
本文为大家讲解的是PHP static局部静态变量和全局静态变量使用总结,感兴趣的同学参考下. 使用静态局部变量的原因是它不能被外部使用,但是它的值依然在没此使用后保留。虽然使用全局变量可以实现相同的功能,但是它经常会造成意外 静态局部变量的特点: 1.不会随着函数的调用和退出而发生变化,不过,尽管该变量还继续存在,但不能使用它...
PHP 2014-12-15 22:24:08 -
php模拟post行为代码总结
本文为大家提供的是一个php模拟post行为代码总结(POST方式不是绝对安全),感兴趣的同学参考下. GET行为比较简单,POST比较复杂一些 这里提供两种方法供选择:第一:手写代码。第二:利用HttpClient php类库 第一种方法: <?PHP $flag = 0; //要post的数据 $argv = array( 'var1'=>'abc', 'var2'=>'你好吗'); //构造要post的字符串 foreach ($argv as $key=>$value) { if ($flag!=0) { $params .= "&"; $flag = 1; } $params.= $key."="; $params.= urlencode($value); $flag = 1; } $length = strlen($params); //创建socket连接 $fp = fsockope...
PHP 2014-12-15 22:21:30 -
PHP生成不重复随机数的方法示例汇总
本文为大家汇总整理了5种生成不重复随机数的方法,其中方法一、二、三是本人常用的方法,方法四五来至度娘。其余方法还是有的,也欢迎大家将遗漏的方法告之,大家共同进步,感兴趣的同学参考下...
PHP 2014-12-15 22:03:06 -
php中获取主机名、协议及IP地址的方法
本文为大家讲解的是php中获取主机名、协议及IP地址的方法,其中涉及gethostbyaddr、gethostbynamel、getprotobyname、getprotobynumber等函数及$_SERVER变量的应用,需要的朋友可以参考下 具体实现代码如下: $hostname=gethostbyaddr($_SERVER['remote_addr']); //获取主机名 echo $hostname; //输出结果 // $hosts=gethostbynamel('localhost'); //获取ip地址列表 print_r($hosts); //输出数组 // $...
PHP 2014-12-15 21:45:04 -
php中eval函数的危害与禁用方法
本文为大家讲解的是php中eval函数的危害与禁用方法,eval常用来做一句话木马,感兴趣的同学参考下。 php的eval函数并不是系统组件函数,因此我们在php.ini中使用disable_functions是无法禁止它的...
PHP 2014-12-15 21:28:21