Foros del Web » Programando para Internet » PHP »

validar imagen desde php

Estas en el tema de validar imagen desde php en el foro de PHP en Foros del Web. Hola: 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 ...
  #1 (permalink)  
Antiguo 29/01/2012, 12:59
 
Fecha de Ingreso: octubre-2011
Mensajes: 160
Antigüedad: 13 años
Puntos: 2
validar imagen desde php

Hola:
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ómo haría para validar que no fuera, por ejemplo, mayor de 100kb?, y lo más importante, ¿cómo haría para unirlo al código que ya tengo de manera que si no se cumplen las 2 condiciones (tamaño y tipo de archivo), muestre el mismo error? No sé si me explicado muy bien... a ver si con el código es mejor:
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}')"); 
Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 29/01/2012, 13:19
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: validar imagen desde php

$tamano= $_FILES['imagen']['size']
if( $tamano > 100 && $formato_permitido==true )
......
else
echo 'no se puede juajuajua';
  #3 (permalink)  
Antiguo 29/01/2012, 14:05
 
Fecha de Ingreso: octubre-2011
Mensajes: 160
Antigüedad: 13 años
Puntos: 2
Respuesta: validar imagen desde php

Jajjaja,menuda más cómica de responder, jajjaja. Vale, lo que yo quería no era exactamente lo que has puesto, ya que no quería un echo, pero gracias a ti, he sabido dónde estaba mi fallo, finalmente, por si a alguien le sirve, lo he puesto así, y va perfecto:
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]);
  
//recibimos el tamaño
  
$tamano$_FILES['imagen']['size'];
  
//limitamos el tamaño de la imagen
if($tamano 100000 && $archivos_disp_ar==true )

  
//validamos la extension
  
if(!in_array($extension$archivos_disp_ar)){
  }else{
   
$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}')"); 

Última edición por cheterporras2; 29/01/2012 a las 14:17

Etiquetas: upload-file, validar-campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:27.