Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/08/2010, 12:27
Avatar de truman_truman
truman_truman
 
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 16 años, 7 meses
Puntos: 177
Respuesta: como reducir la imagen al subirla

A ver si esto te sirve, lo retoque un poco, fijate y decime si funca

Código PHP:
<?  
$server
="localhost";              /* Nuestro server mysql:  */  
$database="xxxxxx";               /* Nuestra base de datos */  
$dbpass="xxxxxxxxxxx";               /*Nuestro password */  
$dbuser="xxxxxxxxxxxxxx";                 /* Nuestro user  */ 


//datos del arhivo  
$nombre_archivo = $HTTP_POST_FILES["userfile"]["name"];  
$tipo_archivo = $HTTP_POST_FILES["userfile"]["type"];  
$tamano_archivo = $HTTP_POST_FILES["userfile"]["size"]; 
$id_afiliado = $_POST["id_afiliado"];
$name = $_POST["name"]; 
$precio = $_POST["precio"];   
$descripcion = $_POST["descripcion"];   

//compruebo si las características del archivo son las que deseo  

if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg") || strpos($tipo_archivo, "png")) && (    $tamano_archivo < 10000000))) 
{  
    echo 
"La extension o el tamano de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 1 Mb maximo.</td></tr></table>"; 
?>
          <script language="JavaScript" type="text/javascript"> 
        setTimeout("url()",3000); 
        function url() 
        { 
        window.history.back(); 
        } 
            </script>
          <?     
} 
else 
{  
    
$nom_img = $id_afiliado.$nombre_archivo;  
    
     
    
$directorio = 'fotos/'; 

    if (
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'],$directorio . "/" . $nom_img)) 
    {  
        
$diaactual= date("d");  
        
$mesactual= date("m");  
        
$anoactual= date("Y"); 
        
$fecha= $anoactual . "," . $mesactual . "," . $diaactual; 
         

// Simple Thumb Gen
// Por Alex para WebTaller.com
$directorio2 = $directorio."tn/"; 

$nom_tmb = $directorio2."tn_".$nom_img; 
$nom_img = $nom_img; 
$nom_img2 = $directorio.$nom_img; 




$archivo = pathinfo($nom_img2); 

if (
$archivo['extension'] == "png") { 
$original = imagecreatefrompng($nom_img2); 
}elseif (
$archivo['extension'] == "jpg") { 
$original = imagecreatefromjpeg($nom_img2); 
}elseif (
$archivo['extension'] == "gif") { 
$original = imagecreatefromgif($nom_img2); 
} 


$ancho_nuevo = imagesx($original); 
$alto_nuevo = imagesy($original); 


/////////////////////////////////////////////
/////////////////////////////////////////////
/////////////////////////////////////////////
/////////////////////////////////////////////
/////////////////////////////////////////////
/////////////////////////////////////////////
    
$ancho_nuevo = imagesx($original);
    
$alto_nuevo = imagesy($original);

    
$max = 150;  //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS

     
if($ancho_nuevo > $alto_nuevo) {
        
        
$ancho_nuevo = $max;
        
$alto_nuevo = intval(($alto_nuevo/$ancho_nuevo)*$max);
                                
                                } else { 
                                    
       
$ancho_nuevo = intval(($ancho_nuevo/$alto_nuevo)*$max);
       
$alto_nuevo = $max;
                                
                                 } 
                                

$thumb = imagecreatetruecolor($ancho_nuevo,$alto_nuevo); // Lo haremos de un tamaño 150x150 
imagedestroy($original); // aqui destruyo el original, pues no hace falta ya
/////////////////////////////////////////////
/////////////////////////////////////////////
/////////////////////////////////////////////
/////////////////////////////////////////////
/////////////////////////////////////////////
/////////////////////////////////////////////
/////////////////////////////////////////////
/////////////////////////////////////////////
/////////////////////////////////////////////



imagecopyresampled($thumb,$original,0,0,0,0,150,150,$ancho_nuevo,$alto_nuevo); 
imagejpeg($thumb,$nom_tmb,90);  


 
//NOS CONECTAMOS A LA BASE DE DATOS 

        
$link=mysql_connect($server,$dbuser,$dbpass); 
                         
        
$query="INSERT INTO anuncios (name,precio,descripcion,id_afiliado,img,fecha) VALUES ('$name','$precio','$descripcion','$id_afiliado','$nom_img','$fecha')";   

        
$result=mysql_db_query($database,$query,$link); 
         
        if(
mysql_affected_rows($link)) 
        {  
            echo 
"Anuncio ingresado correctamente";  
             
        } else  
        {  
            echo 
"Error introduciendo el Anuncio";  
        } 
/* Cierre del else */  




    
} 
    else 
    { 
        echo 
"error al subir la foto"; 
    } 
} 

?>
__________________
la la la

Última edición por truman_truman; 14/08/2010 a las 12:33