【发布时间】:2014-08-26 09:33:42
【问题描述】:
请帮帮我!
我正在尝试使用远程服务器上的脚本下载文件。脚本开始下载,但挂起(在 chrome 中显示“正在启动”并挂起)。(我在本地安装了 MAMP 并尝试从本地服务器下载文件,它工作正常。)
可能是php.ini文件配置错误?
我正在使用的脚本:
<?php
$url = "http://cs4-2v4.vk.me/p22/fbb2ec25fb8f67.mp3";
header("Content-Disposition: attachment; filename=music.mp3");
ob_flush();
flush();
$fp = fopen($url, "rb");
while (!feof($fp))
{
print(fread($fp,8192));
ob_flush();
flush();
}
fclose($fp);
?>
谢谢!
【问题讨论】:
-
您的脚本看起来很奇怪,原因有很多。当您使用绝对 url 重新分配
$_GET时,为什么要从$_GET分配一个值?您不应该首先调用ob_start(),在读取整个文件之前也不需要使用ob_flush()?我没有看到任何错误检查,您能否验证文件是否正确打开? -
对不起。 “复制粘贴”后的错误
-
谢谢!试过了,但没有任何改变。
-
要像上面那样使用网址,您还应该确保在您的
php.ini中启用allow_url_fopen。由于代码在本地工作,但不能在远程服务器上工作,我猜这就是问题所在。 -
谢谢!我会检查的。
标签: php