我希望能够从其完整域和文件路径中读取文件的内容,如下所示:
http://www.example.com/files/file.txt
在这种情况下我不能做的是:
../files/file.txt
我尝试过curl,fopen,file_get_contents,宁可使用curl,也不能让它适用于任何一个。
是否有一个明显的原因导致我无法正常工作?
以下是每次尝试的代码片段,也许有人知道其中一个有什么问题?
顺便说一句,如果我可以../files/file.txt
,它适用于每个选项。
$file = "http://www.example.com/files/file.txt";
的fopen:
$f=fopen($file,'r');
$data='';
while(!feof($f))
$data.=fread($f,$size);
fclose($f);
卷曲:
function curl($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$data = curl($file);
的file_get_contents:
$data = file_get_contents($file);
提前感谢您的帮助。
答案 0 :(得分:3)
file_get_contents适用于PHP 4> = 4.3.0和PHP 5的网址
"如果fopen wrappers已启用"
,则可以使用此功能将URL作为文件名许多共享托管服务商已禁用此选项,或正在使用旧版本的PHP,并阻止使用PHP safe mode加载外部文件。
从enabling error_reporting开始,查看您的托管服务网站,了解他是否屏蔽了外部文件。