Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当用PHP下载文件时,什么都没有发生?_Php - Fatal编程技术网

当用PHP下载文件时,什么都没有发生?

当用PHP下载文件时,什么都没有发生?,php,Php,我无法通过PHP下载远程文件 我尝试过使用cURL和streaming,这两种方法都不会产生错误 这是我当前的流媒体代码 $url = "http://commissiongeek.com/files/text.txt"; $path = "/files/cb.txt"; file_put_contents($path, file_get_contents($url)); 我会下载一个zip文件,当我得到这个工作,但在理论上,这应该工作得很好 文件夹的权限设置为777,如前所述,不会

我无法通过PHP下载远程文件

我尝试过使用cURL和streaming,这两种方法都不会产生错误

这是我当前的流媒体代码

$url = "http://commissiongeek.com/files/text.txt";
$path = "/files/cb.txt";     
file_put_contents($path, file_get_contents($url));
我会下载一个zip文件,当我得到这个工作,但在理论上,这应该工作得很好

文件夹的权限设置为777,如前所述,不会抛出任何错误。
什么原因会导致这种情况?

将其分为多个部分,以便您可以验证每个阶段是否正常工作:

$url = 'http://...';
$txt = file_get_contents($url);
var_dump($txt);
var_dump(file_put_contents('/files/cb.txt', $txt));

第一个转储应该显示url返回的文本。第二次转储应输出布尔值true/false,具体取决于文件放置是否失败。

似乎您有一个要保存的绝对路径。我相信您希望将路径改为“files/cb.txt”,并且如果您已将allow\u url\u fopen设置为true,则无法访问/files/

$url = 'http://example.com/image.php';
$img = '/my/folder/flower.gif';
file_put_contents($img, file_get_contents($url));
否则请使用卷曲:

$ch = curl_init('http://example.com/image.php');
$fp = fopen('/my/folder/flower.gif', 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);

在脚本开头添加:
ini\u集('display\u errors',1);错误报告(E_全部)您遇到了什么错误?请检查apacheMaybe的错误日志。您的服务器配置为您无权通过这些函数访问外部文件。我的错误日志是干净的,我已将代码设置为将所有错误记录到一个文件中,而不是显示它们。我认为HostGator在功能上限制了我的服务器。我现在正在联系他们。得到这个回复。。。“NULL bool(false)”看起来由于某种原因无法获取文件。也许我的主机禁用了这些功能。不过,我复制代码时出错,现在的响应不同了。。。“string(25)”这只是一个文本文件。“bool(false)”文件的内容仍然是假的。然后就是你的问题了——php由于某种原因无法写入该文件。权限和/或路径不正确。不要忘记,即使文件夹是777,
cb.txt
文件可能已经存在,并且不能由Web服务器写入。不,仍然不能工作。我正在和我的主机交谈,我想这个功能还没有启用。谢谢Blakdronzer。我试过卷曲,结果也一样。我正在和我的主人谈论这个问题。