Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/02/2008, 07:33
prp
 
Fecha de Ingreso: febrero-2008
Mensajes: 2
Antigüedad: 16 años, 2 meses
Puntos: 0
Problema con move_uploaded_file y archivos superiores a 2 MB

Saludos a todos en primer lugar.

Mi problema es el siguiente: este script de php funciona bien hasta que intento enviar ficheros iguales o superior a 2 MB (los valores recogidos por $_FILES estan en blanco o 0).

Estoy con windows server 2003, php5 y apache2.

Este es el formulario que utilizo:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<form action="subearchivo.php" method="post" enctype="multipart/form-data">
<!-- limite puesto a 10 mb en bytes -->
<input type="hidden" name="MAX_FILE_SIZE" value="10485760">
<br>
<br>
<b>Enviar un nuevo archivo: </b>
<br>
<input name="userfile" type="file">
<br>
<input type="submit" value="Enviar">
</form>
</body>
</html>

Y este es el script en php:

<?php
//datos del arhivo
$nombre_archivo = $_FILES['userfile']['name'];
$tipo_archivo = $_FILES['userfile']['type'];
$tamano_archivo = $_FILES['userfile']['size'];
echo $nombre_archivo."<br>";
echo "<br>".$tipo_archivo."<br>";
echo $tamano_archivo."<br>";

if ($tamano_archivo > 10485760){
echo "El tamaño del archivo no es correcto. <br><br><table><tr><td><li>se permiten archivos de 10 MB máximo.</td></tr></table>";
}else{
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $nombre_archivo)){
echo "El archivo ha sido cargado correctamente.";
}else{
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
}
?>

También he cambiado los siguientes parámetros del php.ini con los valores que le siguen:

- file_uploads = On
- upload_tmp_dir ="c:/PHP/upload
- memory_limit = 128M
- upload_max_filesize = 12M
- max_execution_time = 300
- post_max_size = 14M
- max_input_time = 120

También en el httpd.conf del apache cambié el parámetro:

- limitreguestbody 30000000

No se si tengo que configurar alguna cosa mas pero el caso es que sigue sin hacerme el upload de ficheros de mas de 2 MB.