Ver Mensaje Individual
  #5 (permalink)  
Antiguo 12/02/2009, 14:48
Avatar de SCY-FOX
SCY-FOX
 
Fecha de Ingreso: septiembre-2007
Ubicación: Chile
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: Redimensionar fotos en tmp o después?

Ahhh ctm... toy desesperado. No se donde está el error. Le he puesto valores a mano y sigue sin funcionar.

Código PHP:
<?php
    
if (isset($_GET['id_cat']))
    {
        
$id_cat    =    $_GET['id_cat'];    
    }

    
$datos_categoria mostrar_categoria_id($id_cat);
    
$resultado mysql_query($datos_categoria);
    
    if (
$valor mysql_fetch_array($resultado))
    {
        
$id_cat                    =    $valor[0];
        
$titulo_cat            $valor[1];
        
$detalle_cat        =    $valor[2];
        
$path_thumb_cat    =    $valor[4];
        
$orden_cat            =    $valor[5];
    }
    
    
$datos_fotos    =    mostrar_fotosporcat($valor[0]);
    
$resfotos            =    mysql_query($datos_fotos);
        
    if (isset(
$_POST['add_foto']))
    {
        
//Inicializar variables
        
$id_cat "";
        
$n_foto1    =    "";
            
        
$id_cat    =    $_POST['id_cat'];
        
    
//Recibo Ficheros - Foto Thumb

    
$n_foto1            =    $_FILES['foto1']['name'];
    
$n_foto1_tmp    =    $_FILES['foto1']['tmp_name'];
    
$n_foto1_size    =    $_FILES['foto1']['size'];
    
$n_foto1_type    =    $_FILES['foto1']['type'];
    
    
//DEBUG VARIABLES Y FUNCIONAMIENTO GENERAL
    
    
echo $id_cat."<br />";
        
    echo 
$n_foto1."<br />";
    echo 
$n_foto1_tmp."<br />";
    echo 
$n_foto1_size."<br />";
    echo 
$n_foto1_type."<br />";
    
    
    
//Si el alto máximo es superado, se detiene la carga y welta patrá! xDD
    
list($ancho_original$alto_original$tipo_original$alternativo) = getimagesize($n_foto1_tmp);
    
    if (
$alto_original 393)
     {
         echo 
"<script>alert('El alto maximo es 393px. La imagen va a ser redimensionada.');</script>";
    
    
    
/********************************************************/
    
    /*  PRIMERAS PRUEBAS DE REDIMENSIONAMIENTO   */
    
    
echo "Ancho Original: " .$ancho_original."<br />";
    echo 
"Alto Original: "  .$alto_original."<br />";
    echo 
"Tipo de Foto: " .$tipo_original."<br />";
    
    
//ALTO MAXIMO
    
$alto_final    =    393;

    
//DIRECTORIO DONDE CAERAN LAS IMAGENES REDIMENSIONADAS
    //$directorio = 'images/grandes';
    
    //SI IMAGEN CARGADA ES GIF    
    
if($tipo    ==    1){$img    =    imagecreatefromgif($n_foto1);}
    
    
//SI IMAGEN CARGADA ES JPG/JPEG/PJPEG
    
if($tipo    ==    ) { $img    =    imagecreatefromjpeg($n_foto1);}
    
    
//SI IMAGEN CARGADA ES PNG
    
if($tipo    ==    3){$img    =    imagecreatefrompng($n_foto1);}
    
    
//CALCULO DE RANGOS PARA HACER REDIMENSIONADO SIN AFECTAR LA PROPORCION
    
    
echo $img;
    
    if (
$alto_original $alto_final)
    {
        
$ancho_final "";
        
$ancho_final    =    $ancho_original $alto_final/$alto_original;
    }
    
    echo 
$ancho_final."<br />";
    echo 
$alto_final."<br />";
    
//die();
    
    //CREACIÓN DE NUEVO LIENZO DONDE SE SE PEGARÁ EL CACHE DE CREACIÓN DE IMAGECREATEFROM-TYPE
    
$thumb imagecreatetruecolor($ancho_final,$alto_final);
    
    
//PEGA EL CACHE DE CREACIÓN AL LIENZO RECIÉN CREADO.
    //LIENZO, CACHE, X LIENZO, Y LIENZO, X CACHE, Y CACHE, ANCHO FINAL,ALTO FINAL, ANCHO ORIGINAL, ALTO ORIGINAL.
    
imagecopyresampled($thumb$img0000$ancho_final$alto_finalimagesx($n_foto1_tmp), imagesy($n_foto1_tmp));
    
    if (
$tipo == 1)
        {
            
imagegif($thumb$n_foto1_tmp);
        }

    if (
$tipo == 2)
        {    
            
imagejpeg($thumb$n_foto1_tmp100);
        }
    
    if (
$tipo == 3)
        {
            
imagepng($thumb$n_foto1_tmp);
        }
 }
    
//Eliminamos archivo temporal
    //unlink($nombre);
    
    //LIMPIAMOS EL CACHE DE CREACIÓN USADO POR IMAGECREATEFROM-TIPO
     //imagedestroy ($img);
     
if ($n_foto1 == ''//SIN FOTO
    

        
$n_foto1         ""
        
$sin_foto1         "TRUE"
         echo 
"<script>alert('No ha seleccionado ninguna imagen o el formato de imagen es incorrecto.');</script>";
        echo 
"<script type=\"text/javascript\">window.location = 'javascript:history.go(-1)';</script>";
        die();
                        
    } else if (
$n_foto1 != '')// CON FOTO
            

            
$n_foto1         renombrar($n_foto1);    
            
$sin_foto1         "FALSE";
            }
            
//Funciones de Carga al Servidor
$upload_dir    "http://www.forosdelweb.com/images/grandes/";

//Mover direccion temporal de FOTO 1 a DIRECCION FINAL en images/noticias/chicas
if ($sin_foto1 != "TRUE")
{
    
$n_path_foto1        =    $upload_dir $n_foto1;    
    
$resultado1        =    move_uploaded_file($n_foto1_tmp$n_path_foto1);

    if (!
$resultado1)
        {
            echo 
'Error, La consulta falló luego de subir archivo : '.mysql_error();
            exit;
            die();
        }
}

//***********************************************************
//Aca deben incluirse los datos de conexion de base de datos.
//***********************************************************

    
if (!get_magic_quotes_gpc())
    {    
        
$n_foto1        =    addslashes($n_foto1);
        
        
$n_path_foto1        =    addslashes($n_path_foto1);
    }
    
    
$sql="INSERT INTO tabla (id_cat, nom_foto, path_foto, orden_foto)
                                            VALUES ('"
.$id_cat."',
                                                            '"
.$n_foto1."',
                                                            '"
.$n_path_foto1."', '1')";
    

    
//echo $sql;
    
$resultado_add mysql_query($sql);
    
    if (!
$resultado_add)
    {
        echo 
'Error, La consulta falló tratando de ingresar a bd : '.mysql_error();
    }
     else {
             echo 
"<script>alert('Imagen agregada correctamente.');</script>";
             
//echo "<script>window.location = 'admin.php?op=catfotos_add&id_cat=".$id_cat."'; </script>";
                 
}

}
    

?>
Me dice un error:
Código:
Warning: imagesx(): supplied argument is not a valid Image resource in C:\Archivos de programa\xampp\xampp\htdocs\puntop\admin\seccion\admin_catfotos_add2.php on line 97

Warning: imagesy(): supplied argument is not a valid Image resource in C:\Archivos de programa\xampp\xampp\htdocs\puntop\admin\seccion\admin_catfotos_add2.php on line 97

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in C:\Archivos de programa\xampp\xampp\htdocs\puntop\admin\seccion\admin_catfotos_add2.php on line 97
Y la linea 97 es:
Código:
	imagecopyresampled($thumb, $img, 0, 0, 0, 0, $ancho_final, $alto_final, imagesx($n_foto1_tmp), imagesy($n_foto1_tmp));
Por favor, alguna ayuda!!!