PHP使用pcntl_fork实现多进程下载图片的方法,PHP下

作者:计算机知识

pcntl_PHP使用pcntl_fork实现多进程下载图片的方法,PHP下载远程图片的几种方法总结。fork()函数创造三个子进度,这一个子进程仅PID(进度号) 和PPID(父进程号)与其父进度不相同。fork怎么样在你的种类办事的详细新闻请查阅您的类其余fork(2)手册。

在接纳 PHP 做轻松的爬虫的时候,大家常常会超出供给下载远程图片的须要,所以上面来轻松达成这一个必要。

正文实例陈说了PHP使用pcntl_fork实现多进度下载图片的措施。分享给我们供我们参谋。具体分析如下:

PHP下载远程图片的三种方法计算

注意:PHP有个pcntl_fork的函数能够兑现多进度,但要加载pcntl扩充,何况唯有在linux下能力编写翻译那一个拓宽.

1.使用 curl

PHP pcntl_fork — 在时下进度近些日子任务爆发疏支,子进度,译注:fork是创设了一个子历程,父进程和子进度都从fork的职位上马向下继续实践,分歧的是父进度试行进度中,获得的fork重返值为子进度号,而子进度猎取的是0.

本文演示3个从远程USportageL下载图片,并保留到本三步跳件中的方法,包蕴file_get_contents,curl和fopen。

1.先是在ubuntu下编译pcntl.so,笔者的ubuntu下找不到pcntl的包,于是创造三个文本夹下载了任何PHP包,在里边找到了pcntl包运营如下命令,代码如下:

诸如咱们有上面这两张图片:

注意:PHP有个pcntl_fork的函数能够兑现多进程,但要加载pcntl扩充,何况独有在linux下本事编译那几个扩充.

1. 使用file_get_contents

 

$images = [
  'https://dn-laravist.qbox.me/2015-09-22_00-17-06j.png',
  'https://dn-laravist.qbox.me/2015-09-23_00-58-03j.png'
];

1.第一在ubuntu下编写翻译pcntl.so,笔者的ubuntu下找不到pcntl的包,于是创制二个文本夹下载了任何PHP包,在里面找到了pcntl包运营如下命令,代码如下:

function dlfile($file_url, $save_to)
{
 $content = file_get_contents($file_url);
 file_put_contents($save_to, $content);
}

 代码如下

第一步,大家能够向来来选择最轻易易行的代码达成:

复制代码 代码如下:

2.使用CURL

本文由bwin必赢发布,转载请注明来源

关键词: