PHP copy () проблема максимального размера - PullRequest
1 голос
/ 28 июля 2011

Сегодня я перенес скрипт загрузки на свой QNAP со своего сервера публикации, который в основном использует copy () для загрузки видео с URL.По какой-то причине любое видео, которое я загружаю, выходит ровно в 33 378 304 байта.Мой файл php.ini установлен на 3600 тайм-аут, и это не имеет никакого значения, у кого-нибудь еще была эта проблема?

Когда я запускаю сценарий напрямую, используя

# php <script path>

Файл php.ini игнорируется, и загружается полный файл, в конфигурации должна быть строка, которую мне не хватает.

Любая помощь будет принята с благодарностью, спасибо!

upload_max_filesize установлен на 2047M

Ответы [ 2 ]

0 голосов
/ 28 июля 2011

Вы также изменили значение post_max_size?

-

EDIT

Некоторые видеосерверы защищают себя, запрещая загрузку более определенной части видео (у меня уже та же проблема при попытке загрузки видеопотоков).

В качестве обходного пути вы можете использовать этот скрипт для загрузки фрагмента видео по частям:

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'");
    }
}
0 голосов
/ 28 июля 2011

Это обходной путь, а не решение проблемы, но вы пытались использовать exec("cp $src $dst") или system("cp $src $dst")

, насколько я вижу, что для команды copy() нет ограниченийв PHP, что делает это странной ошибкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...