HTML-Formulardatei wird nicht hochgeladen
-
22-12-2019 - |
Frage
Ich habe ein HTML-Formular wie folgt:
<form id="addTrack" action="/worship/script/upload.php" method="post" enctype="multipart/form-data">
<label>File:</label>
<input type="file" name="uploaded" id="addTrackFile"/>
<label>Key Title: </label>
<input type="text" name="title" id="addTrackTitle"/>
<input type="hidden" name="id" id="addTrackId"/><br>
</form>
<button onclick="uploadAddTrack()">Upload</button>
<button onclick="closeAddTrack()">Close</button>
Wenn ich das Formular absende, wird die Datei ordnungsgemäß auf den Server hochgeladen, aber wenn sie zum PHP-Aktionsskript umgeleitet wird, wird sie beim ersten Fehlerstopp gestoppt.Das Skript gibt dann die Datei aus $_FILES
Variable, die als leeres Array zurückgegeben wird.Wie Sie im Code unten sehen können, gibt es auch den Fehler aus, aber es gibt auch eine leere Zeichenfolge aus.
Warum erhalte ich keine Datei im $_FILES
Array?
Mein PHP-Code:
$id=$_POST["id"];
$name=$_POST["title"];
$name = str_replace(" ","",$name);
$allowed_filetypes = array('.mp3','.m4a','.wav','.wma');
$filename = $_FILES['uploaded']['name'];
$ext = substr($filename, strpos($filename,'.'), strlen($filename)-1);
$target = "../audio/";
$target = $target . $id. "_".$name.$ext;
$ok=1;
if ($_FILES['uploaded']['error'] !== UPLOAD_ERR_OK) {
//------------This is where it gets stopped-----------------//
var_dump($_FILES);
echo $_FILES["uploaded"]["error"];
return;
}
if(!in_array($ext,$allowed_filetypes))
die("This file type is not allowed");
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target))
{
include("updateDB.php");
header("Location:/worship/cpanel/?autoload=$id");
}
Die Größe der Datei, die ich hochlade, beträgt 9 MB.
Meine php.ini relevanten Informationen
file_uploads:An
upload_max_filesize:25M
upload_tmp_dir:kein Wert
max_post_size:8M
Lösung
Überprüfen Sie Ihre PHP.ini-Datei.Stellen Sie sicher, dass die POST-Größe größer als 8 MB ist.denn das ist die Standardeinstellung und Sie senden Informationen mit einer Größe von 9 MB.
`; Maximum size of POST data that PHP will accept.
post_max_size = 8M`