Problema con isset ($_FILES)
Hola a todos,
tengo un problema que he intentado resolver de todas las formas posibles y no lo consigo.
Tengo un formulario para subir un archivo y que éste se guarde en una base de datos MySQL.
El formulario es el siguiente:
<form name="formularioAddFiles" enctype="multipart/form-data" action="<?php echo "./addFiles.php?name=" . $auxName; ?>" method="POST"> <div data-role="fieldcontain"> <label for="titulo"> Title for your file </label> <input name="titulo" data-mini="true" type="text" required> </div> <div data-role="fieldcontain"> <label for="labelFile"> Choose a file to upload </label> <input type="file" name="fichero" data-mini="true" > </div> <input type="submit" data-theme="e" name="addFile" data-mini="true" value="Upload file" > </form>
Lo que hago es tener un input de tipo file y que al pulsar el botón
"Upload file" se cargue un script php del mismo fichero. El script php
es el siguiente:
if (isset($_POST['addFile'])) {
// Check if a file has been uploaded
if (isset($_FILES['fichero'])) {
// Make sure the file was sent without errors
if ($_FILES['fichero']['error'] == 0) {
// Gather all required data
$name = $con->real_escape_string($_FILES['fichero']['name']);
$mime = $con->real_escape_string($_FILES['fichero']['type']);
$data = $con->real_escape_string(file_get_contents($_FILES ['fichero']['tmp_name']));
$size = intval($_FILES['fichero']['size']);
$title = $_POST['titulo'];
// Create the SQL query
$query = "INSERT INTO Files (ideaName, solver, fileName, title, mime, size, content) VALUES ('$auxName','$solverActual','$name','$title','$mime','$size','$data')";
// Check if it was successfull
if (mysqli_query($con, $query)) {
$mensaje = 2;
} else {
$mensaje = 3;
}
} else {
$mensaje = 4;
}
} else {
$mensaje = 5;
}
}Tengo problemas en la línea en negrita y subrayada, ya que, aunque cargue un fichero
en el formulario, siempre va al else marcado en negrita subrayado al final y no
entiendo porque... El resto del código no se si estará bien pero ni
siquiera consigo que entre en esa parte.
Si hago un
print_r($_FILES['fichero']);
me imprime un array vacío. He mirado el php.ini y he comprobado el
tamaño de los ficheros que admite... He probado mil cosas y ya no se que
hacer. ¿Alguna idea?
Gracias.