简体   繁体   中英

HTML form file not uploading

I have an HTML form as the following:

<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>

When I submit the form the file uploads to the server properly, but when it gets redirected to the PHP action script, it gets stopped at the first error catch. The script then dumps the $_FILES variable which it returns as an empty array. As you can see in the code below, I also have it echo the error, but it also echoes an empty string.

Why am I not getting a file in the $_FILES array?

My 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");
} 

The size of the file I am uploading is 9mb.

My php.ini relevant info

file_uploads: On

upload_max_filesize: 25M

upload_tmp_dir: no value

max_post_size: 8M

check you PHP.ini file. make sure the POST size is larger the 8M. because that is the default and you're sending info that is 9MB.

 `; Maximum size of POST data that PHP will accept.

post_max_size = 8M`

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM