本文實(shí)例講述了php使用curl模擬多線程實(shí)現(xiàn)批處理功能。分享給大家供大家參考,具體如下:
php模擬多線程用到curl庫,這個(gè)庫很強(qiáng)大,可以做好多事,比如模擬登陸,文件上傳/下載,數(shù)據(jù)采集等。
下面是我的代碼,很簡單,有些還功能還不會(huì)用。
<?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);?>這段代碼就是并行爬取百度和谷歌的代碼,以后再慢慢完善。
還有好多事要做。
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選