基于PHP CURL用法的深入分析

yipeiwu_com6年前PHP代码库
如下所示:
复制代码 代码如下:

<?php
header('Context-Type:text/html;charset:gb2312;');
$urls = array(
 'http://www.baidu.com/',
 'http://www.pconline.com.cn/',
 'http://www.163.com/'
);
$options = array(
 CURLOPT_RETURNTRANSFER=>1,
 CURLOPT_FOLLOWLOCATION=>1, 
 CURLOPT_HEADER => false, 
 CURLOPT_HTTPHEADER => array(
  'Accept'=>' text/html, application/xhtml+xml,',
  'Accept-Encoding'=>' gzip, deflate',
  'Accept-Language'=>' zh-CN',
  'Connection'=>' Keep-Alive', 
  'User-Agent'=>' Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)',
 ),
);
function curlMultiRequest($urls,$options=array()){
 $ch = array();
 $results = array();
 $mh = curl_multi_init();
 foreach($urls as $key=>$val){
  $ch[$key] = curl_init();
  if($options){
   curl_setopt_array($ch[$key],$options);
  }  
  curl_setopt($ch[$key],CURLOPT_URL,$val);
  curl_multi_add_handle($mh,$ch[$key]);
 }

 $running = null;
 do{
  curl_multi_exec($mh,$running);
 }while($running>0); 

 foreach($ch as $key=>$val){
  //$results[$key] = iconv('gb2312','utf-8',curl_multi_getcontent($val));
  $results[$key] = curl_multi_getcontent($val);
  curl_multi_remove_handle($mh,$val);
  curl_close($val);
 } 
 curl_multi_close($mh); 
 return $results;
}
$results = curlMultiRequest($urls,$options);
print_r($results);
?>

相关文章

PHP实现对数组简单求交集,差集,并集功能示例

PHP实现对数组简单求交集,差集,并集功能示例

本文实例讲述了PHP实现对数组简单求交集,差集,并集功能。分享给大家供大家参考,具体如下: <?php $arr1 = array( '0' => 'zero',...

PHP使用trim函数去除字符串左右空格及特殊字符实例

本文实例讲述了PHP使用trim函数去除字符串左右空格及特殊字符的方法。分享给大家供大家参考,具体如下: PHP中trim()函数定义如下: trim(string,charlist)...

PHP使用strtotime计算两个给定日期之间天数的方法

本文实例讲述了PHP使用strtotime计算两个给定日期之间天数的方法。分享给大家供大家参考。具体分析如下: PHP的strtotime函数用于将任何英文文本的日期时间描述解析为Uni...

php防注入,表单提交值转义的实现详解

在开发时,我们要注意防止sql注入,所以在对表单提交过来的值要做相应的处理,才可以把数据更新到数据库里php横扫千军函数。任何值都可以传过来转换复制代码 代码如下:function qu...

PHP上传文件时文件过大$_FILES为空的解决方法

在做图片上传的时候突然发现一张gif图片上传失败 size为0,实际大小为4.66M。上传小文件时可以,传大文件就不行,看了下PHP.INI里面upload_max_filesize =...