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.