Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/09/2009, 16:56
Avatar de _-ZeuS-_
_-ZeuS-_
 
Fecha de Ingreso: junio-2007
Ubicación: Quito, Ecuador! ;)
Mensajes: 100
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: redimensionar imagenes php duda

primero creo que debes ser un poco màs específico en lo que quieres hacer mira la primera parte que pegas podrías ponerlo en un archivo que sea redimensionar.php la segunda parte es donde estás haciendo el upload físico de la imágen para lo cual tienes que crear un formulario que te envíe la imágen de nombre fupload a ese codigo de php si lo juntas todo tendrías algo así:

Código HTML:
<form action="subirImagen.php" enctype="multipart/form-data" method="POST">
<input type="file" name="fupload">
<input type="submit" value="subir y cambiar">
</form> 
Eso por un lado ahora la segunda parte akí realizamos la subida de la imágen con el código que tienes:

Código PHP:
if(is_uploaded_file($_FILES['fupload']['tmp_name'])){
        
        if(
array_pop(explode(".",$_FILES['fupload']['name']))=='jpg'){
            
$fupload_name genera_random(10);
            
$file_dir ="archivosusuario/fotos"// crea un directorio "imagenes" en la carpeta donde este este archivo
            
mysql_query("INSERT INTO ph(los campos) values ('los values')");
            if (
move_uploaded_file($_FILES['fupload']['tmp_name'], "$file_dir/$fupload_name")){ //   acá es donde lo terminamos de subir
                
echo "<br><br><img src=\"$file_dir/$fupload_name\"><p>\n\n"// lo mostramos
                
echo "Titulo ".$titulo."<br>";
                echo 
"Ubicación: url/$file_dir/$fupload_name<br>";
            } else echo 
"Error al subir el archivo";
        } else echo 
"<h1>Archivo no soportado!</h1>";    
    } else echo 
"Error al intertar subir el archivo ".$_FILES['fupload']['name'];
}} 
y por último para hacerle de un tamaño diferente usando esa función que tienes hacemos esto:

Código PHP:
function cambiar(<parametros>){
  
$tam=getimagesize("<nombre de la imagen>"); 
    if(
$tam[0] > 500 OR $tam[1] > 500)
        {
        
cambiartam("imagen.png""nuevaimagen.png"200200);
        }
}
function 
cambiartam($nombre,$archivo,$ancho,$alto)
    {
    
$tmp=split(".",$nombre)[1];

    if (
preg_match('/jpg|jpeg|JPG/',$tmp))
        {
        
$imagen=imagecreatefromjpeg($nombre);
        }
    if (
preg_match('/png|PNG/',$tmp))
        {
        
$imagen=imagecreatefrompng($nombre);
        }
    if (
preg_match('/gif|GIF/',$tmp))
        {
        
$imagen=imagecreatefromgif($nombre);
        }

    
$x=imageSX($imagen);
    
$y=imageSY($imagen);

    if (
$x $y
        {
        
$w=$ancho;
        
$h=$y*($alto/$x);
        }

    if (
$x $y
        {
        
$w=$x*($ancho/$y);
        
$h=$alto;
        }

    if (
$x == $y
        {
        
$w=$ancho;
        
$h=$alto;
        }


    
$destino=ImageCreateTrueColor($w,$h);
    
imagecopyresampled($destino,$imagen,0,0,0,0,$w,$h,$x,$y); 


    if (
preg_match("/png/",$tmp))
        {
        
imagepng($destino,$archivo); 
        } 
    if (
preg_match("/gif/",$tmp))
        {
        
imagegif($destino,$archivo);
        }
    else 
        {
        
imagejpeg($destino,$archivo); 
        }

    
imagedestroy($destino); 
    
imagedestroy($imagen); 

y así lo puedes llamar desde donde quieras con solo incluir el archivo y hacer esto:

Código PHP:
cambiar(direccion_imagen
eso creo que es lo que quieres hacer. con todo cualquier duda lo comunicas trankilamente