Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/02/2007, 09:29
viktoria
 
Fecha de Ingreso: septiembre-2006
Mensajes: 349
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: [Ayuda] Validar el tamaño de una imagen

El imagen se puede validar una vez subido en carpeta temporal, el php se ejecuta en el servidor y no lo veo posible saber el tamano antes de subir.
Otra cosa que despues de subir lo puedes ajustar a tamano adecuado.
Eso se hace con un codigo por ejemplo como este

Código PHP:
function redimensiona_imagen($archivo_nuevo$dir,  $anchura$altura){
//datos nesesarios para procesar 
//$archivo foto  a redireccionar
//dir - directorio donde se guarda la foto
//$anchura maxima
//$azltura  maxima

//creamos imagen nuevo apartir de cargado
//ruta completa del archivo
$uploadfile=$dirbasename($archivo_nuevo);
$img_fuente=@imagecreatefromjpeg($uploadfile)
or die(
"No se puede proceder");
//sacamos los datos de altura y anchura del imagen cargado
//anchura
        
$img_ancho=imagesx($img_fuente);
         echo(
$img_ancho);
            
         
//altura
        
$img_alto=imagesy($img_fuente);
         echo(
$img_alto);
//sacamos la diferencia para averiguar forma de imagen
$diferencia=$img_ancho/$img_alto;
//si la anchura es superior a la altura ajustamos anchura a establecido
if($img_ancho>$anchura || $img_alto>$altura){

if(
$diferencia>1){
        
// crear imagen nueva
        
$img_nueva_anchura=$anchura;
        
$img_nueva_altura=$img_alto/($img_ancho/$anchura);}
        
//si altura es superior a la anchura 
if($diferencia<1){
        
$img_nueva_altura=$altura;
        
$img_nueva_anchura=$img_ancho/($img_alto/$altura);}    
        
        
//si el imagen es cuadrado restamos de altura ya anchura lo mismo
        
if($diferencia==1){
        
$dif=$img_ancho-$anchura;
        
$img_nueva_anchura=$anchura;
        
$img_nueva_altura=$img_alto-$dif;}
        
// creamos  imagen nueva vacia con dimesiones adecuadas
$thumb imagecreatetruecolor($img_nueva_anchura,$img_nueva_altura)
or die(
"No se ha podido ejecutar la función imagecreatetruecolor");

//redimensionamos el imagen
imagecopyresampled ($thumb$img_fuente0,0,0,0$img_nueva_anchura$img_nueva_altura$img_ancho$img_alto)
        or die(
"No se ha podido ejecutar la función imagecopyresampled");

// guardar la imagen redimensionada 
//asignamos permisos de escritura a la carpeta donde esta hubicado el archivo
chmod($uploadfile0775); 
imagejpeg($thumb ,$uploadfile)
or die(
"No se ha podido mover el archivo redimensionado a la carpeta.");

                    echo 
"<b>Redireccionamiento ok!. Datos:</b><br>"
            echo 
"Nombre: <i><a href='".$uploadfile."'>".$uploadfile."</a></i><br>"
            echo 
"Anchura: <i>".$img_nueva_anchura."</i><br>"
                    echo 
"Altura: <i>".$img_nueva_altura." bytes</i><br>"
                        echo 
"<br><hr><br>"
        }
        else {echo 
"<b>Redimensionamiento no procede!</b>. El imagen tiene tamaño adecuado.<br>"; }
        } 
Bueno no se si te sirvira.
ESte codigo me funciona sin errores, gracias a los chicos de este foro.