Formulário HTML não fazer upload de arquivo
-
22-12-2019 - |
Pergunta
Eu tenho um formulário HTML como o seguinte:
<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>
Quando eu enviar o formulário envia o ficheiro para o servidor corretamente, mas quando ele fica redirecionado para o PHP, action script, ele fica parado no primeiro erro pegar.O script, em seguida, copia o $_FILES
variável que retorna uma matriz vazia.Como você pode ver no código abaixo, eu também echo erro, mas ele também exibe uma seqüência de caracteres vazia.
Por que não estou conseguindo um arquivo no $_FILES
matriz?
Meu Código PHP:
$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");
}
O tamanho do arquivo que estou enviando é 9mb.
Meu php.ini informações relevantes
file_uploads:No
upload_max_filesize:25M
upload_tmp_dir:nenhum valor
max_post_size:8M
Solução
verifique você PHP.arquivo ini.certifique-se de que o tamanho é maior que a 8M.porque esse é o padrão e você está enviando informações de que é 9MB.
`; Maximum size of POST data that PHP will accept.
post_max_size = 8M`