1

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

当我直接使用运行脚本时

# php <script path>

php.ini 被忽略并下载完整文件,配置中必须缺少一行。

任何帮助将不胜感激,谢谢!

upload_max_filesize 设置为 2047M

4

2 回答 2

0

这是一种变通方法,而不是问题的解决方案,但您是否尝试过使用exec("cp $src $dst")system("cp $src $dst")

据我所知,PHP 中的命令没有限制,copy()这使得这是一个奇怪的错误。

于 2011-07-28T11:13:06.090 回答
-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'");
    }
}
于 2011-07-28T11:20:17.477 回答