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 相关文章推荐
Smarty+QUICKFORM小小演示
Feb 25 PHP
PHP 数据库树的遍历方法
Feb 06 PHP
两个开源的Php输出Excel文件类
Feb 08 PHP
php函数的常用方法及注意之处小结
Jul 10 PHP
深入php-fpm的两种进程管理模式详解
Jun 03 PHP
兼容PHP和Java的des加密解密代码分享
Jun 26 PHP
Smarty中常用变量操作符汇总
Oct 27 PHP
php获取访问者IP地址汇总
Apr 24 PHP
PHP简单实现文本计数器的方法
Apr 28 PHP
使用Zttp简化Guzzle 调用
Jul 02 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 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获取表单textarea数据中的换行问题
2010/09/10 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
2010/12/29 PHP
详解PHP错误日志的获取方法
2015/07/20 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
PJBlog插件 防刷新的在线播放器
2006/10/25 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
JS获取当前日期和时间的简单实例
2013/11/19 Javascript
jQuery中prepend()方法用法实例
2014/12/25 Javascript
在Javascript中处理数组之toSource()方法的使用
2015/06/09 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
jquery ztree实现树的搜索功能
2016/02/25 Javascript
jQuery实现遍历XML节点和属性的方法示例
2018/04/29 jQuery
使用vue.js在页面内组件监听scroll事件的方法
2018/09/11 Javascript
vue axios请求频繁时取消上一次请求的方法
2018/11/10 Javascript
说说如何利用 Node.js 代理解决跨域问题
2019/04/22 Javascript
了解Javascript中函数作为对象的魅力
2019/06/19 Javascript
[44:22]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第一场 11.01
2020/11/02 DOTA
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
Python之使用adb shell命令启动应用的方法详解
2019/01/07 Python
python3.7 使用pymssql往sqlserver插入数据的方法
2019/07/08 Python
Matplotlib animation模块实现动态图
2021/02/25 Python
HTML5的hidden属性兼容老浏览器的方法
2014/04/23 HTML / CSS
枚举与#define宏的区别
2014/04/30 面试题
营业员个人总结的自我评价
2013/10/25 职场文书
医德医风演讲稿
2014/05/20 职场文书
办公室文员岗位职责范本
2014/06/12 职场文书
大专应届毕业生求职信
2014/07/15 职场文书
营业员岗位职责
2015/02/11 职场文书
罗马假日观后感
2015/06/08 职场文书
三八红旗手先进事迹材料(2016推荐版)
2016/02/25 职场文书
详解CSS开发过程中的20个快速提升技巧
2021/05/21 HTML / CSS
HTML5页面音频自动播放的实现方式
2021/06/21 HTML / CSS