ich mehrere Dateien mit diesem PHP-Skript unten bin Hochladen:Ajax Erfolg Funktion nicht Text von Php-Skript gesendet Ausgeben
<?php
if(isset($_FILES['uploadfile'])){
$total_files = count($_FILES['uploadfile']['name']);
if($total_files > 0){
for($i=0; $i<$total_files; $i++) {
$file_name = $_FILES['uploadfile']['name'][$i];
$file_size = $_FILES['uploadfile']['size'][$i];
$file_tmp = $_FILES['uploadfile']['tmp_name'][$i];
$file_type = $_FILES['uploadfile']['type'][$i];
$upload_Path = "storage/".$file_name;
//var_dump($file_size);
//die;
if($file_size > 8000000){
echo ('Total upload size must be less than 8 MB.');
die;
}
if($file_tmp == ""){
echo ('There is no file path.');
die;
}
else{
if(!file_exists($upload_Path)){
move_uploaded_file($file_tmp, $upload_Path);
}
else{
$name = pathinfo($file_name, PATHINFO_FILENAME);
$ext = pathinfo($file_name, PATHINFO_EXTENSION);
$new_name = $name.rand().'.'.$ext;
$new_Path = "storage/".$new_name;
move_uploaded_file($file_tmp, $new_Path);
}
}
}
}
die('File uploaded successfully!');
}
?>
aber das Problem ist, dass, wenn ein Fehler auftritt, so wie echo ('Total upload size must be less than 8 MB.');
es nicht mit outputed erhalten Ajax. Aber wenn ein erfolgreicher Upload abgeschlossen ist, wird File uploaded successfully!
angezeigt.
Mein AJAX ist wie folgt:
$.ajax({
type:'POST',
url: 'mupld.php',
data: formdata,
processData:false,
contentType:false,
success: function(response){
alert('Success: '+response);
},
error: function(xhr, status, error){
alert('Error: '+status+' '+error);
}
});
auf einen var-Dump tun ich für Uploads über 8mb eine Ausgabe nicht bekommen, aber für unten, dass ich
Success: <pre class='xdebug-var-dump' dir='ltr'><small>int</small> <font color='#4e9a06'>3283515</font>
</pre>
Und was ist die Einstellung php.ini für maximale Dateigröße? – TheDrot
Php.ini ist auf 8mb gesetzt – Ayan