2016-07-19 8 views
0

Ich versuche, ein Formular zu machen, wo Benutzer eine große Datei hochladen. Das Formular funktioniert jedoch nicht mehr, wenn die Datei größer als 1,5 GB ist. Meine Anforderung ist 8 GB maximal. Zu Testzwecken habe ich eine 2-GB-Datei verwendet.Formular Posting große Datei schlägt mit Zend Framework

Ich habe ein Formular, das eine Eingabedatei akzeptiert.

<form id="createUpdateTrial" enctype='multipart/form-data' method="post"> 
    <input type="file" name="buildfile" id="buildfile"/> 
</form> 

Dann in Zend Framework 1.12, ich versuche, die Datei zu erhalten.

//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()); 
      } 
     } 

Nachdem das Formular die Datei endet das Hochladen, wenn der obige Code läuft, sagt das Zend_File_Transfer Objekt der Upload mit den folgenden Meldungen ungültig ist:

Datei-Gültigkeitsprüfung nicht: Array \ n (\ n [fileCountTooFew] => Zu wenige Dateien, mindestens '1' erwartet, aber '0' sind gegeben \ n [fileUploadErrorCantWrite] => Datei 'Buildfile' kann nicht \ n geschrieben werden)

In meiner php Konfigurationsdatei habe ich folgende Einstellungen:

max_input_time = 3600

post_max_size = 8G

upload_max_filesize = 8G

Ich kann bestätigen, dass es mehr als genug Speicherplatz auf dem Server ist die hochgeladene Datei zu halten. Der Server läuft PHP 5.6.16

Wenn jemand irgendwelche Ideen hat, warum dies nicht mit größeren Dateien funktioniert, würde ich es sehr zu schätzen wissen.

Antwort

0

Ändern Sie diese Zeile $upload->isUploaded()-$upload->isUploaded('buildfile') & $upload->isUploaded()-$upload->isUploaded('buildfile')

+0

Leider hat dies nicht das Problem beheben :(Immer noch der gleiche Fehler. Danke für die Antwort, obwohl – user2229618