PHP copy()最大大小问题

时间:2011-07-28 11:06:43

标签: php download copy php-ini

我今天从我的发布服务器将一个下载脚本转移到我的QNAP上,该服务器基本上使用copy()从URL下载视频。出于某种原因,我下载的任何视频都是33,378,304字节。我的php.ini文件设置为3600超时,它没有一点点差异,其他人有这个问题?

当我使用

直接运行脚本时
# php <script path>

忽略php.ini并下载完整文件,配置中必须有一行我没有。

非常感谢任何帮助,谢谢!

upload_max_filesize设置为2047M

2 个答案:

答案 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'");
    }
}