2016-06-14 12 views
1

Ich habe eine HTML-Eingabe des Typs Datei. Die vom Benutzer hochgeladenen Dateien werden über einen Ajax an einen PHP-Code gesendet. Mein HTML-Code:html Eingabe des Typs Datei nicht uploaden. Mp3

<input type="file" id="attachments" name="attachments[]" multiple> 

Meine Ajax-Funktion:

var formData = new FormData(document.querySelector("form")); 

$.ajax({url: "target.php", 
     type:"POST" , 
     data:formData, 
     processData: false, 
     contentType: false , 
     success: function(result){ 

       //do somthing 
     } 
}); 

Mein PHP-Code:

foreach(array_keys($attachments['name']) as $key) { 

    $file_name = $attachments['name'][$key]; 
    $file_location = $attachments['tmp_name'][$key]; 
    echo $file_name.$file_location; 
} 

Das Problem, das ist auf der PHP-Seite, wenn der Benutzer ein Bild hochgeladen, Der Code funktioniert einwandfrei, aber wenn ich eine .mp3-Datei hochlade, ist die Variable $file_location leer, obwohl die $file_name korrekt ist. Wer weiß, warum das passiert?

+2

Hève Sie upload_max_filesize in php.ini überprüfen? –

+1

Überprüfen Sie [diese Frage] (http://stackoverflow.com/questions/2320069/jquery-ajax-file-upload). – Jurik

+0

@Jurik Ich denke nicht, das Problem ist in formdata zu verwenden, weil der Code mit anderen Medien gut funktioniert jst nicht mp3 –

Antwort

0

Bitte ändern Sie die upload_max_filesize=2MB zu upload_max_filesize=32MB oder mehr in php.ini-Datei.

Wenn Sie die Datei php.ini finden wollen, dann die Hilfe finden, von hier Find the location of php.ini file