PHP file_get_contents仅适用于某些服务器

时间:2018-02-09 17:37:56

标签: php .htaccess curl file-get-contents

我正在一个网站上工作,该网站会有大量文件。所以,我为我的文件(如图像和txt文件)创建了一个单独的服务器。问题是php的file_get_contents函数不适用于此服务器。

我已经尝试了echo file_get_contents("http://url");但我什么都没得到,但当我echo file_get_contents("http://google.com");时,我会收到谷歌的主页。这与卷曲连接的情况相同。

$ch = curl_init();
$url = "http://running-files.rf.gd/hello.html";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_MAXREDIRS, 5);   
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$body = curl_exec($ch);
$info  = curl_getinfo($ch); 
$error = curl_errno($ch);  
curl_close($ch);  

echo $body;

我的猜测是.htaccess文件中有需要。有人有什么建议吗?

1 个答案:

答案 0 :(得分:-1)

如果要打开带有特殊字符的URI, (例如空格)你需要用urlencode()编码URI。

例如:

file_get_contents("http://domain-name.com?id=".urlencode("something with special characters"));

“具有特殊字符的东西”在大多数情况下都可以是变量