可以通过浏览器地址请求远程服务器程序,但是通过file_get_contents()获取返回值为false

本文来自互联网:http://www.php100.com/html/php/hanshu/2013/0905/4345.html

file_get_contents函数多用来于来采集远程服务器上的内容,但使用file_get_contents函数之前我们在php.ini中是必须把allow_url_fopen开启才行

 

问题描述

fopen(),file_get_contents(),getimagesize() 等都不能正常获得网络上的内容,具体表现为凡参数是URL的,一律返回空值

如果是windows可找开

allow_url_fopen开启

如果是否linux中可以

重新编译PHP,去掉–with-curlwrapper 参数——编译前记得先执行 make clean。


windows 在未开户allow_url_fopen时我们利用

< ?php
  $file_contents = file_get_contents(''http://www.php100.com/'');
  echo $file_contents;
?>

是获取不到值的,但我们可以利用function_exists来判断此函数是否可用。

function file_get_content($url) {
  if (function_exists(‘file_get_contents')) {
    $file_contents = @file_get_contents($url);
  }
  if ($file_contents == ”) {
    $ch = curl_init();
    $timeout = 30;
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $file_contents = curl_exec($ch);
    curl_close($ch);
  }
  return $file_contents;
}

 

posted @ 2014-12-09 16:58  Zell~Dincht  阅读(2267)  评论(0)    收藏  举报