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?
Sehen Sie, dass der Fehlercode 4 ist? –
Ja, das habe ich gesehen. Es bedeutet, dass keine Datei hochgeladen wurde. Aber warum? – Gdev
var formData = new FormData ('# photos_form'); Ich denke, dass es Formular-ID sein sollte – JYoThI