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

War es hilfreich?

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`
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top