Pongo el código asi como el array que me devuelve el error.
Lo curioso es que no reconoce el tipo de fichero ni el espacio que ocupa.
Por otro lado alguien me puede decir que significa el error que me devuelve $HTTP_POST_FILES " [error] => 2"?
Cabe decir que ya he probado cambiando $HTTP_POST_FILES por $FILES pero por alguna extraña razón mi server de desarrollo bajo windows solo admite $HTTP_POST_FILES (y eso que es php 5).
El error me lo da tanto en mi server de desarrollo como en el hosting y el tema de los permisos 777 ya lo tengo solucionado puestos que con ficheros pequeños si que funciona.
La limitación del hostin max_file_upload es de 2mb.
el error me me da es "La extensión o el tamaño de los archivos no es correcta. Solo se permiten archivos .pdf".
Gracias de antemano.
Saludos
Código PHP:
<form action="gestion.php?subir=subir" method="post" enctype="multipart/form-data">
<p>Reemplazar catálogo en PDF</p>
<input type="file" name="catalogo" />
<input type="hidden" name="MAX_FILE_SIZE" value="300000" />
<br /><br />
<input type="submit" value="Enviar" name="boton" />
</form>
Código PHP:
//upload catalogo
if( $HTTP_POST_FILES['catalogo']['name'])
{
//tomo el valor de un elemento de tipo texto del formulario
//$cadenatexto = $_POST["cadenatexto"];
//echo "<p>Empezamos con el upload</p>";
//datos del arhivo
$nombre_archivo = $HTTP_POST_FILES['catalogo']['name'];
//echo "nombre $nombre_archivo";
$tipo_archivo =$HTTP_POST_FILES['catalogo']['type'];
//echo "--typo $tipo_archivo";
$tamano_archivo = $HTTP_POST_FILES['catalogo']['size'];
//echo "--tamaño $tamano_archivo";
//compruebo si las características del archivo son las que deseo
if (!( strpos($tipo_archivo, "pdf")) && ($tamano_archivo < 3000000))
{
//echo $tipo_archivo."<br>";
echo "<p>La extensión o el tamaño de los archivos no es correcta. <br>
Solo se permiten archivos .pdf<br>";
}
else
{
if (move_uploaded_file($HTTP_POST_FILES['catalogo']['tmp_name'], "catalogo_centro.pdf"))
{
echo "<p>El catálogo ha sido reemplazado correctamente en catalogo_centro.pdf</p>";
}
else
{
echo "<p>Ocurrió algún error al subir el catálogo. No pudo guardarse.</p>";
}
}
echo "<p>Archivo tipo: ".$tipo_archivo.".</p>";
echo "<p>El tamaño del archivo es: ".$tamano_archivo.".</p>";
}//FIN upload catalogo
Código PHP:
$HTTP_POST_FILES
Array
(
[catalogo] => Array
(
[name] => centro.pdf
[type] =>
[tmp_name] =>
[error] => 2
[size] => 0
)
)