php使用curl模拟多线程实现批处理功能示例


Posted in PHP onJuly 25, 2019

本文实例讲述了php使用curl模拟多线程实现批处理功能。分享给大家供大家参考,具体如下:

php模拟多线程用到curl库,这个库很强大,可以做好多事,比如模拟登陆,文件上传/下载,数据采集等。

下面是我的代码,很简单,有些还功能还不会用。

<?php
$node_urls=array('http://www.baidu.com','http://www.google.com.hk');
$ch=array();
$mh=curl_multi_init();
$ch[0]=curl_init($node_urls[0]);
$ch[1]=curl_init($node_urls[1]);
for($i=0;$i<2;$i++)
{
curl_setopt($ch[$i],CURLOPT_RETURNTRANSFER,1);
curl_multi_add_handle($mh,$ch[$i]);
}
$running=NULL;
do{
  usleep(10000);
  curl_multi_exec($mh,$running);
}while($running>0);
$res=array();
for($j=0;$j<2;$j++)
{
  $res[$j]=curl_multi_getcontent($ch[$j]);
}
for($k=0;$k<2;$k++)
{
  curl_multi_remove_handle($mh,$ch[$k]);
}
curl_multi_close($mh);
print_r($res);
?>

这段代码就是并行爬取百度和谷歌的代码,以后再慢慢完善。

还有好多事要做。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
Windows下PHP的任意文件执行漏洞
Oct 09 PHP
php session 错误
May 21 PHP
计算一段日期内的周末天数的php代码(星期六,星期日总和)
Nov 12 PHP
php4与php5的区别小结(配置异同)
Dec 20 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
Dec 18 PHP
php 在线导入mysql大数据程序
Jun 11 PHP
php使用MySQL保存session会话的方法
Jun 18 PHP
php远程下载类分享
Apr 13 PHP
thinkphp 验证码 的使用小结
May 07 PHP
PHP生成加减算法方式的验证码实例
Mar 12 PHP
PHP简单实现记录网站访问量功能示例
Jun 06 PHP
PHP队列场景以及实现代码实例详解
Feb 26 PHP
yii框架使用分页的方法分析
Jul 25 #PHP
php实现的生成排列算法示例
Jul 25 #PHP
Yii框架中使用PHPExcel的方法分析
Jul 25 #PHP
PHP保留两位小数的几种方法
Jul 24 #PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
Jul 24 #PHP
Yii Framework框架使用PHPExcel组件的方法示例
Jul 24 #PHP
PHP+Apache实现二级域名之间共享cookie的方法
Jul 24 #PHP
You might like
判“新”函数:得到今天与明天的秒数
2006/10/09 PHP
php.ini 配置文件的深入解析
2013/06/17 PHP
ubuntu12.04使用c编写php扩展模块教程分享
2013/12/25 PHP
php PDO异常处理详解
2016/11/20 PHP
Yii2实现增删改查后留在当前页的方法详解
2017/01/13 PHP
关于javascript document.createDocumentFragment()
2009/04/04 Javascript
Javascript技巧之不要用for in语句对数组进行遍历
2010/10/20 Javascript
js获取上传文件大小示例代码
2014/04/10 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
jQuery+HTML5实现图片上传前预览效果
2015/08/20 Javascript
分享一个插件实现水珠自动下落效果
2016/06/01 Javascript
javascript常用经典算法详解
2017/01/11 Javascript
js实现自定义路由
2017/02/04 Javascript
基于vue-cli npm run build之后vendor.js文件过大的解决方法
2018/09/27 Javascript
Angular使用ControlValueAccessor创建自定义表单控件
2019/03/08 Javascript
微信小程序自定义弹出层效果
2020/05/26 Javascript
python实现批量获取指定文件夹下的所有文件的厂商信息
2014/09/28 Python
Python实现遍历数据库并获取key的值
2015/05/17 Python
django中的setting最佳配置小结
2017/11/21 Python
python使用zip将list转为json的方法
2018/12/31 Python
python变量赋值方法(可变与不可变)
2019/01/12 Python
Python FFT合成波形的实例
2019/12/04 Python
Python如何读写字节数据
2020/08/05 Python
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
旧时光糖果:Old Time Candy
2018/02/05 全球购物
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
电子信息工程专业推荐信
2014/02/14 职场文书
护理专业学生职业生涯规划范文
2014/03/11 职场文书
消防志愿者活动方案
2014/08/23 职场文书
2015关爱留守儿童工作总结
2014/12/12 职场文书
护士年终考核评语
2014/12/31 职场文书
2016年“5.12”护士节致辞
2015/07/31 职场文书
保护环境建议书作文300字
2015/09/14 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书