国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP CURL 多線程操作代碼實例

2024-05-04 23:35:13
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了PHP CURL 多線程操作代碼實例,本文直接給出實現代碼,需要的朋友可以參考下

使用方法:

 

 
  1. $urls = array("http://baidu.com""http://m.survivalescaperooms.com""http://google.com"); 
  2. $mp = new MultiHttpRequest($urls); 
  3. $mp->start(); 

 

 
  1. /* 
  2. * Curl 多線程類 
  3. * 使用方法: 
  4. * ======================== 
  5. $urls = array("http://baidu.com", "http://dzone.com", "http://google.com"); 
  6. $mp = new MultiHttpRequest($urls); 
  7. $mp->start(); 
  8. * ======================== 
  9. */ 
  10. class MultiHttpRequest { 
  11. public $urls = array(); 
  12. public $curlopt_header = 1; 
  13. public $method = "GET"
  14.  
  15. function __construct($urls = false) { 
  16. $this->urls = $urls
  17.  
  18. function set_urls($urls) { 
  19. $this->urls = $urls
  20. return $this
  21.  
  22. function is_return_header($b) { 
  23. $this->curlopt_header = $b
  24. return $this
  25.  
  26. function set_method($m) { 
  27. $this->medthod = strtoupper($m); 
  28. return $this
  29.  
  30. function start() { 
  31. if(!is_array($this->urls) or count($this->urls) == 0){ 
  32. return false; 
  33. $curl = $text = array(); 
  34. $handle = curl_multi_init(); 
  35. foreach($this->urls as $k=>$v){ 
  36. $curl[$k] = $this->add_handle($handle$v); 
  37.  
  38. $this->exec_handle($handle); 
  39. foreach($this->urls as $k=>$v){ 
  40. curl_multi_getcontent($curl[$k]); 
  41. echo $curl[$k]."/n"
  42. //$text[$k] = curl_multi_getcontent($curl[$k]); 
  43. //echo $text[$k], "/n/n"; 
  44. curl_multi_remove_handle($handle$curl[$k]); 
  45. curl_multi_close($handle); 
  46.  
  47. private function add_handle($handle$url) { 
  48. $curl = curl_init(); 
  49. curl_setopt($curl, CURLOPT_URL, $url); 
  50. curl_setopt($curl, CURLOPT_HEADER, $this->curlopt_header); 
  51. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
  52. curl_multi_add_handle($handle$curl); 
  53. return $curl
  54.  
  55. private function exec_handle($handle) { 
  56. $flag = null; 
  57. do { 
  58. curl_multi_exec($handle$flag); 
  59. while ($flag > 0); 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 徐汇区| 渭南市| 慈溪市| 天台县| 四会市| 固镇县| 江门市| 清水河县| 新沂市| 马鞍山市| 肇州县| 剑川县| 惠东县| 滁州市| 普陀区| 威信县| 漯河市| 六安市| 萨迦县| 新河县| 富阳市| 大城县| 浠水县| 柳江县| 永福县| 宁乡县| 墨竹工卡县| 安国市| 玛多县| 英德市| 关岭| 莲花县| 武定县| 琼结县| 黑河市| 潮安县| 门头沟区| 内江市| 米泉市| 合川市| 尤溪县|