Tema: Subir imagen
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/04/2009, 18:42
Sancas
 
Fecha de Ingreso: marzo-2008
Mensajes: 96
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Subir imagen

He probado a cambiar los permisos (a 0777) y sin resultados...

Voy a poner el código completo para que lo veais:
El fallo me lo da en el Error7

Código PHP:
if($_FILES['avatar']['name']!="" && $_FILES['avatar']['size']!=0//Entra
{
    
$uploaded_file=$_FILES['avatar']['tmp_name'];

    if(
exif_imagetype($uploaded_file) != IMAGETYPE_GIF 
    
&& exif_imagetype($uploaded_file) != IMAGETYPE_JPEG 
    
&& exif_imagetype($uploaded_file) != IMAGETYPE_PNG)
    {
        echo 
"Error1";
        exit;
    }else{
        
//Es una imagen de verdad
        
        //Miramos que no exceda de 20kb
        
if($_FILES['avatar']['size']>20500)
        {
            echo 
"Error2";
            exit;
        }else{
                
            
//Obtenemos la altura y anchura
            
$info_imagen getimagesize($uploaded_file);
            
$alto $info_imagen[1];
            
$ancho $info_imagen[0];
            
//Determinamos los nuevos altos y anchos
            
if($alto>$ancho)
            {
                if(
$alto>100)
                {
                    
$nuevo_alto=100;
                    
$nuevo_ancho=($ancho*$nuevo_alto/$alto);    
                }else{
                    
$nuevo_alto=$alto;
                    
$nuevo_ancho=$ancho;
                }                    
            }else{
                if(
$ancho>100)
                {
                    
$nuevo_ancho=100;
                    
$nuevo_alto=($alto*$nuevo_ancho/$ancho);
                }else{
                    
$nuevo_alto=$alto;
                    
$nuevo_ancho=$ancho;
                }
            }
                        
            
//Creamos una jpg a partir de la imagen
            
if(exif_imagetype($uploaded_file) == IMAGETYPE_JPEG)
            {
                if(!
$nueva_imagen=imagecreatefromjpeg($uploaded_file))
                {
                    echo 
"Error3";
                    exit;
                } 
            }
            
            if(
exif_imagetype($uploaded_file) == IMAGETYPE_GIF)
            {
                if(!
$nueva_imagen=imagecreatefromgif($uploaded_file))
                {
                    echo 
"Error4";
                    exit;
                } 
            }
                        
            if(
exif_imagetype($uploaded_file) == IMAGETYPE_PNG)
            {
                if(!
$nueva_imagen=imagecreatefrompng($uploaded_file))
                {
                    echo 
"Error5";
                    exit;
                } 
            }
                        
            
//Creamos una imagen con las nuevas dimensiones
            
$tmp=imagecreatetruecolor($nuevo_ancho,$nuevo_alto);
            
//La "pegamos"
            
if(!imagecopyresampled($tmp,$nueva_imagen,0,0,0,0,$nuevo_ancho,$nuevo_alto,$ancho,$alto))
            {
                echo 
"Error6";
                exit;
            } 
                                                    
                                                
            
$nueva_ruta='http://dominio.com/avatares/1.jpg';
                        
            if(!
imagejpeg($tmp,$nueva_ruta,100))
            {
                echo 
"Error7"//Aquí es donde falla!!!!!!!!!!!!
                
exit;
                
            }
                    
            
//Borramos los rastros
            
imagedestroy($nueva_imagen);
            
imagedestroy($tmp);
        }
    }
}else{
    echo 
"Debe subir una imagen";

Gracias a todos por vuestro tiempo!