今天就跟大家聊聊有关如何在PHP中使用CURL操作多线程,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因为php是开源的,从而使得php经久不衰。
使用方法:
$urls = array("http://baidu.com", "http://21andy.com", "http://google.com"); $mp = new MultiHttpRequest($urls); $mp->start();
class MultiHttpRequest { public $urls = array(); public $curlopt_header = 1; public $method = "GET"; function __construct($urls = false) { $this->urls = $urls; } function set_urls($urls) { $this->urls = $urls; return $this; } function is_return_header($b) { $this->curlopt_header = $b; return $this; } function set_method($m) { $this->medthod = strtoupper($m); return $this; } function start() { if(!is_array($this->urls) or count($this->urls) == 0){ return false; } $curl = $text = array(); $handle = curl_multi_init(); foreach($this->urls as $k=>$v){ $curl[$k] = $this->add_handle($handle, $v); } $this->exec_handle($handle); foreach($this->urls as $k=>$v){ curl_multi_getcontent($curl[$k]); echo $curl[$k]."\n"; //$text[$k] = curl_multi_getcontent($curl[$k]); //echo $text[$k], "\n\n"; curl_multi_remove_handle($handle, $curl[$k]); } curl_multi_close($handle); } private function add_handle($handle, $url) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, $this->curlopt_header); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_multi_add_handle($handle, $curl); return $curl; } private function exec_handle($handle) { $flag = null; do { curl_multi_exec($handle, $flag); } while ($flag > 0); } }
看完上述内容,你们对如何在PHP中使用CURL操作多线程有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。