2016-11-01 10 views
1

behandeln wir haben ein HTML-Formular mit <input type="file" name="u_file" class="u_class" id="u_id">. Wenn ein Nutzer ein Bild hochlädt, wird es in der unten stehenden Tabelle angezeigt, bevor das Formular gesendet wird.Wie mehrere Bildupload eins nach dem anderen in PHP

<div class="preview-div"> 


</div>. 

Das heißt, wenn der Benutzer ein Bild hochladen dann, dass, wenn wir anhängen Bild an die div von jquery.

$("#u_id").change(function(event){ 

    $(".preview-div").append(' <img style="" class="img-class" src="'+URL.createObjectURL(event.target.files[0])+'">'); 
    etc..... 

}); 

wenn Formular dann wird es prüfen

if($_FILES['u_file']['name'] !=""){ 

$uploadedfile = $_FILES['user_file']; 
$image_name=$_FILES['u_file']['name']; 

move_imageto_dir(); 
etc.... 

} 

hier move_imageto_dir(); die benutzerdefinierte Funktion, die wir geschrieben.

Aber das Problem ist, dass es nur das letzte Bild überprüft und bewegt. Wie löst man das?

Das heißt ($ _FILES [ ‚u_file‘] nur die neuesten Upload-Bild enthalten. Was wir tun müssen? Wir nicht <input type='file' multiple>

Sie.

Eingänge als
+0

so werden Sie das Hochladen mehrere Bild oder einzelnes Bild und laden Sie bitte Code von move_imageto_dir() Funktion –

Antwort

2

Benennen Sie Ihre Datei Vielen verwenden können

Array
<input type="file" name="u_file[]" class="u_class" id="u_id"> 

$_FILES['u_file'] ist ein Array nun

foreach ($_FILES['u_file'] as $file) { 
$image_name=$file['name']; 

move_imageto_dir(); 
etc.... 

} 
+0

gute Idee hoch. Ich habe es einfach vergessen. Könnten Sie Ihre Antwort bitte mit foreach loop aktualisieren? –

+0

Noe u_file ist Array. Wenn ich das Array aus irgendeinem Grund drucke, nimmt es nur das neueste Bild. –

+0

Was meinst du mit dem neuesten, beachten Sie, dass Sie die Notation für alle Dateieingänge benötigen – madalinivascu

1

Sie können Array-Symbol mit dem Namen der Datei

<input type="file" name="u_file[]" class="u_class" id="u_id"> 

Jetzt in PHP verwenden Sie Dateien wie diese

$_FILES['file']['u_file'][0] 
$_FILES['file']['u_file'][1] 

empfangen oder können Sie loop verwenden auch

foreach ($_FILES['file']['u_file'] as $filename) {} 
Verwandte Themen