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 相关文章推荐
谈谈新手如何学习PHP 默默经典版本
Aug 04 PHP
解析PHP对现有搜索引擎的调用
Jun 25 PHP
php反射应用示例
Feb 25 PHP
linux下使用crontab实现定时PHP计划任务失败的原因分析
Jul 05 PHP
php文件夹的创建与删除方法
Jan 24 PHP
分享一个Laravel好用的Cache宏
Mar 02 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
Mar 16 PHP
php把大写命名转换成下划线分割命名
Apr 27 PHP
Smarty使用自定义资源的方法
Aug 08 PHP
php similar_text()函数的定义和用法
May 12 PHP
PHP+Apache环境中如何隐藏Apache版本
Nov 24 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
Feb 10 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
php下实现在指定目录搜索指定类型文件的函数
2008/10/03 PHP
php实现递归抓取网页类实例
2015/04/03 PHP
利用php操作memcache缓存的基础方法示例
2017/08/02 PHP
PHP时间函数使用详解
2019/03/21 PHP
Laravel路由研究之domain解决多域名问题的方法示例
2019/04/04 PHP
PHP面向对象程序设计之对象的遍历操作示例
2019/06/12 PHP
JavaScript获得选中文本内容的方法
2008/12/02 Javascript
由document.body和document.documentElement想到的
2009/04/13 Javascript
一个获取第n个元素节点的js函数
2014/09/02 Javascript
判断字符串的长度(优化版)中文占两个字符
2014/10/30 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
2015/02/05 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
在AngularJS中如何使用谷歌地图把当前位置显示出来
2016/01/25 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
VUE JS 使用组件实现双向绑定的示例代码
2017/01/10 Javascript
vue实现单选和多选功能
2017/08/11 Javascript
对于input 框限定输入值为浮点型的js代码
2017/09/25 Javascript
vue项目中使用axios上传图片等文件操作
2017/11/02 Javascript
JS装饰器函数用法总结
2018/04/21 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
vue分页插件的使用方法
2019/12/25 Javascript
vue项目中使用bpmn为节点添加颜色的方法
2020/04/30 Javascript
vue在App.vue文件中监听路由变化刷新页面操作
2020/08/14 Javascript
Python随机生成数模块random使用实例
2015/04/13 Python
python爬取个性签名的方法
2018/06/17 Python
PyQt5实现简单数据标注工具
2019/03/18 Python
Python&amp;&amp;GDAL实现NDVI的计算方式
2020/01/09 Python
Python字符串中删除特定字符的方法
2020/01/15 Python
英国潮流网站:END.(全球免邮)
2017/01/16 全球购物
英国演唱会订票网站:Ticket Selection
2018/03/27 全球购物
物业管理员岗位职责范文
2013/11/25 职场文书
运动会800米加油稿
2014/02/22 职场文书
县委务虚会发言材料
2014/10/20 职场文书