2016-07-19 1 views
0

Я пытаюсь создать форму, в которой пользователи загружают большой файл. Однако форма перестает работать, когда файл больше 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

Если у кого-то есть идеи относительно того, почему это не работает с большими файлами, я был бы очень признателен.

ответ

0

Изменить эту линию $upload->isUploaded() к $upload->isUploaded('buildfile') & $upload->isUploaded() к $upload->isUploaded('buildfile')

+0

К сожалению, это не решить проблему :(Все тот же провал. Спасибо за ответ, хотя – user2229618