2017-05-11 2 views
1

Ich bin in der Lage zu 10 Bildern per Datei-Upload-Formular hochladen, aber wenn ich versuche, mehr als 10 Bilder hochladen wirft PHP diesen Fehler:Warnung: exif_imagetype(): Dateiname kann nicht leer sein

Warning: exif_imagetype(): Filename cannot be empty

Ich habe meine PHP.ini-Datei bearbeitet. Dort habe ich:

Ich habe meine phpinfo Seite überprüft und es bestätigt, dass diese Einstellungen festgelegt sind. Ich habe Apache viele Male neu gestartet.

Ich weiß, ich bin nicht über die maximale Dateigröße, weil ich einige Testbilder erstellt habe, die nur 1kb sind und sie nicht hochladen, aber ich kann große Bilder von vielen MB hochladen, wenn ich weniger hochlade 10 Dateien.

Meine Form sieht wie folgt aus:

<form id="photos_form" action="" enctype="multipart/form-data" method="post"><input type="hidden" name="temp_id" value="20170511-073423-2820394"><section><h1>Add Photos</h1><div id="photos_wrap"><label for="photos">Select photos of your item to upload:</label><br><button id="choose_photos_btn" type="button">Add photos</button><input id="photos" name="photos[]" type="file" multiple="multiple" ></div><button id="photos_submit">Upload selected photos</button><div id="photos_preview"></div></section></form> 

Es über XHR geschrieben hat

// Photos form submit 
$('body').on('submit', '#photos_form', function (e) { 
     //disable the default form submission 
     e.preventDefault(); 

     $('#photos_submit').addClass('uploading').text('Uploading...'); 

     //grab all form data 
     var formData = new FormData($(this)[0]); 



     $.ajax({ 
      url: 'lib/upload-photos', 
      dataType: 'html', 
      type: 'POST', 
      data: formData, 
      async: false, 
      cache: false, 
      contentType: false, 
      processData: false, 
      success: function (data) { 
       $('#photos').val(''); 
       $('#photos_submit').hide(); 
       $('#photos_wrap').removeClass('error'); 
       $('#photos_wrap .photos_error, #photos_preview .deleted, #upload_errors').remove(); 

       $('#photos_preview').append(data); 
      }, 
      error: function() { 
       alert("Error uploading photos"); 
      } 
     }); 


     return false; 
    }); 

Meine PHP wie folgt aussieht:

if ($_SERVER ['REQUEST_METHOD'] == 'POST') { 
     if (isset($_FILES ['photos'])) { 
      $num_pics = count($_FILES ['photos'] ['name']); 
      echo 'num pics is ' .$num_pics; 
     } 
} 

und sagt num pics 1

a print_r von $ FILES gibt:

Wie kann ich mehr als 10 Bilder hochladen?

+0

Sehen Sie, dass der Fehlercode 4 ist? –

+0

Ja, das habe ich gesehen. Es bedeutet, dass keine Datei hochgeladen wurde. Aber warum? – Gdev

+0

var formData = new FormData ('# photos_form'); Ich denke, dass es Formular-ID sein sollte – JYoThI

Antwort

0

Ich hatte etwas Javascript, das die PHP.ini Einstellungen überging. Das war das Problem.

Verwandte Themen