Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/07/2010, 05:57
LOCAMATO
 
Fecha de Ingreso: julio-2010
Mensajes: 6
Antigüedad: 13 años, 9 meses
Puntos: 0
no se que le falla

Hola a todos.
El siguiente php hace que me envíen archivos al servidor. Pero quiero limitarlo a que como máximo sean de 5 mbs de tamaño. El formulario permite subir 10 archivos (archivo1, archivo2, etc...).

Código HTML:
function GuardaArchivosFormulario()
    {
        
        // Establecemos el directorio donde se guardan los ficheros
        $sDirGuardar = $_SERVER["DOCUMENT_ROOT"]."/files/";
        $iContFicSubidos = 0;

// tamaño
	    $tamanio1=$_FILES['archivo1']['size'];
$tamanio2=$_FILES['archivo2']['size'];
$tamanio3=$_FILES['archivo3']['size'];
$tamanio4=$_FILES['archivo4']['size'];
$tamanio5=$_FILES['archivo5']['size'];
$tamanio6=$_FILES['archivo6']['size'];
$tamanio7=$_FILES['archivo7']['size'];
$tamanio8=$_FILES['archivo8']['size'];
$tamanio9=$_FILES['archivo9']['size'];
$tamanio10=$_FILES['archivo10']['size'];

		if (($tamanio1+$tamanio2+$tamanio3$+tamanio4+$tamanio5+$tamanio6+$tamanio7+$tamanio8+$tamanio9+$tamanio10)>50000) {
		include 'error_archivos.html'};
      




        // Recorremos los Ficheros recibidos
        foreach ($_FILES as $vFichero)
        {
// tamaño
	    $tamanio=$_FILES['archivo1']['size'];

		if ($tamanio>4000){
		echo "Tamaño incorrecto";}
            
            // Se establece el fichero con el nombre original
            $sFichero = $sDirGuardar.$vFichero["name"];
            
            // Si el archivo ya existe, no lo guardamos
            if (file_exists($sFichero))
            {
                echo "<br/>El archivo ".$vFichero["name"]." ya existe<br/>";
                continue;
            }
// tamaño
	    $tamanio=$vFichero["archivo1"]['size'];

		if ($tamanio>4000){
		echo "Tamaño incorrecto";}

	    
            
            // Copiamos de la dirección temporal al directorio final
            
            if (filesize($vFichero["tmp_name"]))
                if (!(move_uploaded_file($vFichero["tmp_name"], $sFichero)))
                {
                    echo "<br/>Error al escribir el archivo ".$vFichero["name"]."<br/>";
                }
                else
                {
                    chmod($sFichero, 0666);
                    $iContFicSubidos++;
                }
            
        }
        
        include 'envio_pedido_correcto.html' ;



        
    }
        

?>
Como se puede ver he colocado detectores de tamaño por varios sitios pero no me funciona ninguno. He leido por el foro y he tratado de adaptar las respuestas pero me sigue sin funcionar. Os agradeceria que me ayudaseis. Gracias.