使用 PHP 下载文件时,没有任何反应


When downloading a file with PHP, nothing happens?

我在通过PHP下载远程文件时遇到问题。

我尝试过使用 cURL 和流式传输,但两者都不会产生错误。

这是我当前的流式传输代码。

$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,具体取决于file_put是否失败。

似乎您有一条试图保存的绝对路径。我相信您希望将路径更改为"files/cb.txt",并且无法访问/files/

如果allow_url_fopen设置为 true:

$url = 'http://example.com/image.php';
$img = '/my/folder/flower.gif';
file_put_contents($img, file_get_contents($url));

否则使用 cURL:

$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);