博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux下php实现多线程
阅读量:6952 次
发布时间:2019-06-27

本文共 1471 字,大约阅读时间需要 4 分钟。

hot3.png

今天遇到个问题,写了个程序从网上抓了150000个图片的地址,存到了txt文档中,每行存了一个图片的地址。现在想将图片下载下来,保存到本机,但是下载的速度不是很快,所以用到了php在linux下面实现多线程,首先将txt文件拆成了10个大小相等的文件,每个文件存储了15000条图片的地址,同时开启10个进行运行保存图片的程序,这样的时间可能就只是原来的1/10。下面将程序贴出来 ,大家指导一下有没有更好的方法。

 

71     function for_save_img($num) 72     { 73         for($i = 0; $i <= $num; $i++) 74         { 75             system("/usr/local/bin/php index.php crawl save_img {$i} & > /tmp/null"); 76         } 77     } 78  79     function save_img($num) 80     { 81         static $i = 0; 82         //把文件读成一个数组 83         $img_urllists = ROOTDIRPATH . "/static/image_{$num}.txt"; 84         $arr_img_url = file($img_urllists); 85         foreach($arr_img_url as $imageurl) 86         { 87             $imageurl = trim($imageurl); 88             echo $imageurl; 89             $this->benchmark->mark("code_start"); 90             //存图片 91             $final_imageurl = "http://www.****.com/upload/UploadFile/" . $imageurl; 92             $img_open = file_get_contents($final_imageurl); 93             $ret = file_put_contents(ROOTDIRPATH . '/static/uploadimg/' . $imageurl, $img_open); 94             if($ret) 95             { 96                 echo "Success......"; 97             } 98             $this->benchmark->mark('code_end'); 99 100             echo $this->benchmark->elapsed_time('code_start', 'code_end');101         }102     }该程序为ci框架下  在linux的shell下 网站的根目录运行   php index.php crawl for_save_img 大家有好的建议欢迎提出 虚心接受

转载于:https://my.oschina.net/yueguanqun/blog/67590

你可能感兴趣的文章
base64工具类
查看>>
UUIDGenerator
查看>>
NUC1931 Problem D 区间素数【素数筛选】
查看>>
webpack编译流程漫谈
查看>>
oracle锁
查看>>
Android攻略--单位转化器UC--Units Converter(学习笔记)
查看>>
js 的强制 类型 转换cast, 伪对象?
查看>>
jsfl 全选
查看>>
MySQL安装与配置
查看>>
为什么开发移动端web不使用jQuery
查看>>
查询结果列传行
查看>>
RH253读书笔记(4)-Lab 4 The Domain Name System
查看>>
Inside SharePoint 2010 (3): Developing a SharePoint Solution (Class Library Project)
查看>>
【玩转开源】BananaPi R2——移植RPi.GPIO 到 R2
查看>>
mysql之事务详解
查看>>
弱引用和弱事件
查看>>
[Linux/Ubuntu] vi/vim 使用方法讲解
查看>>
Java基础-运行原理及变量(01)
查看>>
理解ASP.NET MVC中的ActionResult
查看>>
Java实时读取日志文件
查看>>