我今天从我的发布服务器将一个下载脚本转移到我的QNAP上,该服务器基本上使用copy()从URL下载视频。出于某种原因,我下载的任何视频都是33,378,304字节。我的php.ini文件设置为3600超时,它没有一点点差异,其他人有这个问题?
当我使用
直接运行脚本时# php <script path>
忽略php.ini并下载完整文件,配置中必须有一行我没有。
非常感谢任何帮助,谢谢!
upload_max_filesize设置为2047M
答案 0 :(得分:0)
这是解决问题的解决办法,但是您尝试过使用exec("cp $src $dst")
或system("cp $src $dst")
据我所知,PHP中的copy()
命令没有限制,这使得这是一个奇怪的错误。
答案 1 :(得分:-1)
您是否也更改了post_max_size
值?
-
修改强>
某些视频服务器通过禁止下载超过视频的特定部分来保护自己(我在尝试下载视频流时已经出现同样的问题)。
作为一种解决方法,您可以使用此脚本逐个下载视频:
function fragmented_download($url, $destination)
{
$headers = get_headers($url, 1);
$downloadsize = $headers["Content-Length"];
for ($filesize = 0 ; $filesize < $downloadsize ; $filesize = filesize($destination))
{
exec("wget --continue --output-document='$destination' '$url'");
}
}