日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php多线程foreach,php中foreach curl实现多线程例子

發(fā)布時(shí)間:2025/3/21 php 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php多线程foreach,php中foreach curl实现多线程例子 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

多線程是php不支持的但我們可以通過foreach來偽多線程了,但這個(gè)偽多線程速度不一定比單線程要單到哪里去了,具體來看個(gè)例子。

在利用foreach語句循環(huán)圖片URL,并通過CURL將所有圖片進(jìn)行本地保存的函數(shù)時(shí) ,出現(xiàn)了只能采集到一個(gè)的問題。現(xiàn)將foreach和CURL結(jié)合進(jìn)行多URL請求的方法進(jìn)行下總?cè)纭?/p>

方法1:循環(huán)請求

$sr=array(url_1,url_2,url_3);

foreach ($sr as $k=>$v) {

$curlPost=$v.'?f=傳入?yún)?shù)';

$ch = curl_init($curlPost) ;

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 獲取數(shù)據(jù)返回

curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ; // 在啟用 CURLOPT_RETURNTRANSFER 時(shí)候?qū)@取數(shù)據(jù)返回

$data = curl_exec($ch) ;

echo $k.'##:'.$data.'
';

}

curl_close($ch);

上面代碼需要特別注意的是,curl_close 一定要放在foreach循環(huán)結(jié)束的外面,如果放在里面的話,就會出現(xiàn)我上面提到的多個(gè)IMGURL ,只能采集到一個(gè)URL的問題。

方法2:多線程循環(huán)

multi_threads_request($nodes){

$mh = curl_multi_init();

$curl_array = array();

foreach($nodes as $i => $url)

{

$curl_array[$i] = curl_init($url);

curl_setopt($curl_array[$i], CURLOPT_RETURNTRANSFER, true);

curl_multi_add_handle($mh, $curl_array[$i]);

}

$running = NULL;

do {

usleep(10000);

curl_multi_exec($mh,$running);

} while($running > 0);

$res = array();

foreach($nodes as $i => $url)

{

$res[$url] = curl_multi_getcontent($curl_array[$i]);

}

foreach($nodes as $i => $url){

curl_multi_remove_handle($mh, $curl_array[$i]);

}

curl_multi_close($mh);

return $res;

}

print_r(multi_threads_request(array(

'http://www.jquerycn.cn',

'http://qq.jquerycn.cn',

));

這里主要利用curl_multi_init()實(shí)現(xiàn)多個(gè)url 的請求,不過由于php自身并不支持多線程。所以偽多線程速度也不見得會比單線程快。

總結(jié)

以上是生活随笔為你收集整理的php多线程foreach,php中foreach curl实现多线程例子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。