Foros del Web » Programando para Internet » PHP »

Validar Tamaño max de pixeles (imagen)

Estas en el tema de Validar Tamaño max de pixeles (imagen) en el foro de PHP en Foros del Web. Amigos una consulta, es posible validar el tamaño de una imagen? es decir si por ejemplo el maximo permitido es 468 * 60 e ingresan ...
  #1 (permalink)  
Antiguo 06/05/2006, 19:49
 
Fecha de Ingreso: noviembre-2004
Mensajes: 159
Antigüedad: 19 años, 5 meses
Puntos: 0
Exclamación Validar Tamaño max de pixeles (imagen)

Amigos una consulta, es posible validar el tamaño de una imagen? es decir si por ejemplo el maximo permitido es 468 * 60 e ingresan una de 500 * 300 es posible validarlo antes de ingresarlo ?

Yo normalmente valido el tipo y el tamaño y si es mayor la redimensiono. Y la guardo en una Bd, (estoy trabajando con imagenes almacenadas en una bd) ya que es una galeria pequeña..

Pero mi pregunta es puedo validar el tamaño apenas lo estoy cargando? por la web? asi como valido el tipo y el peso?

Adjunto el modelo con el que trabajo (es una parte pero es la parte que hace el redimensionamiento y verifica el tipo y tamaño

Código PHP:


 define
("ALTURA"60);
  
define("ANCHO"468);
  
# Nombre del archivo temporal del thumbnail
  
define("NAMETHUMB""/tmp/thumbtemp"); //Esto en servidores Linux, en Windows podra ser:
// define("NAMETHUMB", "c:/windows/temp/thumbtemp"); y te olvidas de los problemas de permisos
  # Servidor de base de datos
  
define("DBHOST""localhost");
  
# nombre de la base de datos
  
define("DBNAME""mibd");
  
# Usuario de base de datos
  
define("DBUSER""aaaa");
  
# Password de base de datos
  
define("DBPASSWORD""aaaaa");
  
// Mime types permitidos
  
$mimetypes = array("image/jpeg""image/pjpeg""image/gif""image/png");
  
// Variables de la foto
  
$name $_FILES["foto"]["name"];
  
$type $_FILES["foto"]["type"];
  
$tmp_name $_FILES["foto"]["tmp_name"];
  
$size $_FILES["foto"]["size"];
  
//verificamos el tamaño de la Imagen
  
   
if($_FILES["foto"]["size"]>100960)

    { 
    
    echo 
'<br><br><br><center><img src="images/logo.gif"> ' ;
    echo 
'<br><br><br><center><img src="images/error-peso.jpg"> ' 
    echo 
'<br><br><br><br><br><a href="javascript:history.back()"> <img src="images/regresar.jpg" border="0"> </a>' ;  
    exit;
    }
    
  
// Verificamos si el archivo es una imagen válida
  
if(!in_array($type$mimetypes))
   { 
    
    echo 
'<br><br><br><center><img src="images/logo.gif"> ' ;
    echo 
'<br><br><br><center><img src="images/error-tipo.jpg"> ' 
    echo 
'<br><br><br><br><br><a href="javascript:history.back()"> <img src="images/regresar.jpg" border="0"> </a>' ;  
    exit;
    
    }
  
  
// Creando el thumbnail
  
switch($type) {
    case 
$mimetypes[0]:
    case 
$mimetypes[1]:
      
$img imagecreatefromjpeg($tmp_name);
      break;
    case 
$mimetypes[2]:
      
$img imagecreatefromgif($tmp_name);
      break;
    case 
$mimetypes[3]:
      
$img imagecreatefrompng($tmp_name);
      break;
  }
  
$datos getimagesize($tmp_name);
  
//$ratio = ($datos[1]/ALTURA);
 // $ancho = 468;
  //$ancho = round($datos[0]/$ratio);
  
$thumb imagecreatetruecolor(ANCHOALTURA);
  
imagecopyresized($thumb$img0000ANCHOALTURA$datos[0], $datos[1]);
  switch(
$type) {
    case 
$mimetypes[0]:
    case 
$mimetypes[1]:
      
imagejpeg($thumbNAMETHUMB);
      break;
    case 
$mimetypes[2]:
      
imagegif($thumbNAMETHUMB);
      break;
    case 
$mimetypes[3]:
      
imagepng($thumbNAMETHUMB);
      break;
  }
  
// Extrae los contenidos de las fotos
  # contenido de la foto original
  
$fp fopen($tmp_name"rb");
  
$tfoto fread($fpfilesize($tmp_name));
  
$tfoto addslashes($tfoto);
  
fclose($fp);
  
# contenido del thumbnail
  
$fp fopen(NAMETHUMB"rb");
  
$tthumb fread($fpfilesize(NAMETHUMB));
  
$tthumb addslashes($tthumb);
  
fclose($fp);
  
// Borra archivos temporales si es que existen
  
@unlink($tmp_name);
  @
unlink(NAMETHUMB);
  
// Guardamos todo en la base de datos
  
  #nombre de la foto 
  #2 (permalink)  
Antiguo 08/05/2006, 14:01
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
no es posible en html solo, el control lo tenés que hacer en el servidor....


Saludos.
  #3 (permalink)  
Antiguo 08/05/2006, 14:04
Avatar de maralbust  
Fecha de Ingreso: febrero-2004
Ubicación: Santiago
Mensajes: 578
Antigüedad: 20 años, 2 meses
Puntos: 0
Podrias usar

Código PHP:
list($ancho$altura$tipo$atr) = getimagesize("tuimagen"); 
esta funcion de devuelve todos los valores listados .


saludos
__________________
..:: NADA SE PIERDE SOLO SE TRANSFORMA ::..
  #4 (permalink)  
Antiguo 08/05/2006, 15:03
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 21 años, 11 meses
Puntos: 7
pero, como dice alvlin, tendrias que hacer eso una vez cargada la imagen, no antes...
__________________
No tengo firma ahora... :(

Última edición por Mickel; 09/05/2006 a las 19:26
  #5 (permalink)  
Antiguo 08/05/2006, 23:35
 
Fecha de Ingreso: noviembre-2004
Mensajes: 159
Antigüedad: 19 años, 5 meses
Puntos: 0
Ok amigos, gracias ya solucione el problema Googleando un poco

Saludos !!

A. Acosta
  #6 (permalink)  
Antiguo 09/05/2006, 19:24
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Cita:
Iniciado por Mickel
pero, como dice alvust, tendrias que hacer eso una vez cargada la imagen, no antes...
¿no estarás hablando de mí, verdad?
  #7 (permalink)  
Antiguo 09/05/2006, 19:25
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 21 años, 11 meses
Puntos: 7
Perdon, si estaba... ya corregi...
__________________
No tengo firma ahora... :(
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 16:00.