Я пытаюсь создать форму, в которой пользователи загружают большой файл. Однако форма перестает работать, когда файл больше 1,5 ГБ. Мое требование - 8 ГБ макс. В целях тестирования я использовал файл 2Gb.Форматирование большого файла сбой с использованием рамки Zend
У меня есть форма, которая принимает входной файл.
<form id="createUpdateTrial" enctype='multipart/form-data' method="post">
<input type="file" name="buildfile" id="buildfile"/>
</form>
Тогда в zend framework 1.12, я пытаюсь получить файл.
//Validation
$upload = new Zend_File_Transfer();
if ($upload->isUploaded()) {
$upload->addValidator('Count', false, array('min' => 1, 'max' => 1));
$upload->addValidator('Size', false, 8589934592); //8GB in bytes
$upload->setDestination("uploads/");
if (!$upload->isValid()) {
$errorMessages = $upload->getMessages();
if (count($errorMessages) > 0)
{
$errorSuffix = ": " . print_r($upload->getMessages(), true);
}
else
$errorSuffix = "";
throw new Exception("File doesn't pass validation" . $errorSuffix);
}
try {
$upload->receive();
}
catch (Zend_File_Transfer_Exception $e) {
throw new Exception('Bad file data: '.$e->getMessage());
}
}
После того, как форма завершения загрузки файла, если приведенный выше код побежал, объект Zend_File_Transfer говорит загрузка недействителен со следующими сообщениями:
Файл не проходит проверку: Array \ п (\ п [fileCountTooFew] => Слишком мало файлов, минимум '1', как ожидается, но '0' приведены \ п [fileUploadErrorCantWrite] => Файл 'Buildfile' не может быть написано \ п)
В моем конфигурационном файле php у меня есть следующие настройки:
max_input_time = 3600
post_max_size = 8G
upload_max_filesize = 8G
Я могу подтвердить, что есть более чем достаточно места на сервере для хранения загруженного файла. Сервер работает PHP 5.6.16
Если у кого-то есть идеи относительно того, почему это не работает с большими файлами, я был бы очень признателен.
К сожалению, это не решить проблему :(Все тот же провал. Спасибо за ответ, хотя – user2229618