Tengo este código php para validar los archivos upload (en concreto, imágenes). La cuestión es que valida perfectamente los tipos de archivos, pero me gustaría que validara también el tamaño del archivo, me imagino que para recibir el tamaño sería algo así como:
Código PHP:
$tamano= $_FILES['imagen']['size'];
Código PHP:
//comprobamos la imagen y la extension
//array de archivos disponibles
$archivos_disp_ar = array('jpg', 'jpeg', 'gif', 'png', 'tif', 'tiff', 'bmp');
//carpteta donde vamos a guardar la imagen
$carpeta = 'imagen/';
//recibimos el campo de imagen
$imagen = $_FILES['imagen']['tmp_name'];
//guardamos el nombre original de la imagen en una variable
$nombrebre_orig = $_FILES['imagen']['name'];
//el proximo codigo es para ver que extension es la imagen
$array_nombre = explode('.',$nombrebre_orig);
$cuenta_arr_nombre = count($array_nombre);
$extension = strtolower($array_nombre[--$cuenta_arr_nombre]);
//validamos la extension
if(!in_array($extension, $archivos_disp_ar)) $error = "Este tipo de archivo no es permitido"; $error_img = "error";
if(empty($error)){
//creamos nuevo nombre para que tenga nombre unico
$nombre_nuevo = time().'_'.rand(0,100).'.'.$extension;
//nombre nuevo con la carpeta
$nombre_nuevo_con_carpeta = $carpeta.$nombre_nuevo;
//por fin movemos el archivo a la carpeta de imagenes
$mover_archivos = move_uploaded_file($imagen , $nombre_nuevo_con_carpeta);
//de damos permisos 777
chmod($nombre_nuevo_con_carpeta,0777);
// finalmente guardamos todo
mysql_query("INSERT INTO fotos(idusuario,nombre_nuevo_con_carpeta)VALUES('{$idusuario}','{$nombre_nuevo_con_carpeta}')");