php的curl获取有301/302跳转文件出错问题解决_PHP技巧_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

php的curl获取有301/302跳转文件出错问题解决

作者:黑客防线网安PHP教程基地 来源:黑客防线网安PHP教程基地 浏览次数:0

本篇关键词:问题解决文件获取
黑客防线网安网讯:  在使用php的curl获取远程文件,代码如下:    <?    $ghurl=isset($_GET['id'])?$_GET['id']:'http://www.baidu.com/';    //php获取    func...
  在使用php的curl获取远程文件代码如下:
  
  <?
  
  $ghurl=isset($_GET['id'])?$_GET['id']:'http://www.baidu.com/';
  
  //php获取
  
  functiongetContents($url){
  
  $header=array("Referer:http://www.baidu.com/");
  
  $ch=curl_init();
  
  curl_setopt($ch,CURLOPT_URL,$url);
  
  curl_setopt($ch,CURLOPT_TIMEOUT,30);
  
  curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
  
  curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);//是否抓取跳转后的页面
  
  ob_start();
  
  curl_exec($ch);
  
  $contents=ob_get_contents();
  
  ob_end_clean();
  
  curl_close($ch);
  
  return$contents;
  
  }
  
  $contents=getContents($ghurl);
  
  echo$contents;
  
  ?>
  
  一般来说在win2003+iis下如把php_curl.dll配置好就没问题了
  
  但笔者在linux+apahe2.0+php5.2.12+directadmin,(一般国外主机商都是用这配置)如果获取的网址有301/302跳转,会报错:
  
  curl_setopt()[function.curl-setopt]:CURLOPT_FOLLOWLOCATIONcannotbeactivatedwheninsafe_modeoranopen_basedirissetin***
  
  关于这个问题,google,百度一下,都是在大篇长长的english,不精通linux的还真头痛
  
  解决办法其实很简单:登陆你的directadmin
  
  
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-17680-1.html
网站维护教程更新时间:2012-09-21 05:23:34  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer