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 相关文章推荐
CakePHP去除默认显示的标题及图标的方法
Oct 22 PHP
php print EOF实现方法
May 21 PHP
c#中的实现php中的preg_replace
Dec 21 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
Jan 19 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
Jun 23 PHP
php中cookie实现二级域名可访问操作的方法
Nov 11 PHP
php判断类是否存在函数class_exists用法分析
Nov 14 PHP
PHP中数据类型转换的三种方式
Apr 02 PHP
PHP和Mysql中转UTF8编码问题汇总
Oct 10 PHP
ThinkPHP 3.2.2实现事务操作的方法
May 05 PHP
PHP vsprintf()函数格式化字符串操作原理解析
Jul 14 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
56.com视频采集接口程序(PHP)
2007/09/22 PHP
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
2015/09/23 PHP
学习php设计模式 php实现工厂模式(factory)
2015/12/07 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
微信支付开发维权通知实例
2016/07/12 PHP
基于win2003虚拟机中apache服务器的访问
2017/08/01 PHP
php实现微信发红包功能
2018/07/13 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
兼容ie和firefox js关闭代码
2008/12/11 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
Javascript中的isNaN函数使用说明
2011/11/10 Javascript
jQuery通过点击行来删除HTML表格行的实现示例
2014/09/10 Javascript
详细讲解JavaScript中的this绑定
2016/10/10 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
javascript动画系列之模拟滚动条
2016/12/13 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
JavaScript门道之标准库
2018/05/26 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
2018/11/14 jQuery
JS数据类型STRING使用实例解析
2019/12/18 Javascript
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
[01:32:50]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第一场 1月25日
2021/03/11 DOTA
python实现人人网登录示例分享
2014/01/19 Python
从源码解析Python的Flask框架中request对象的用法
2016/06/02 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
python相对企业语言优势在哪
2020/06/12 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
企业管理标语
2014/06/10 职场文书
公司门卫工作职责
2014/06/28 职场文书
关心下一代工作先进事迹
2014/08/15 职场文书
个人政风行风自查自纠报告
2014/10/21 职场文书
2016党校学习心得体会
2016/01/07 职场文书
迎客户欢迎词三篇
2019/09/27 职场文书
2019升学宴主持词范本5篇
2019/10/09 职场文书
Springboot-cli 开发脚手架,权限认证,附demo演示
2022/04/28 Java/Android