Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/09/2012, 16:31
iScapeKiller
 
Fecha de Ingreso: abril-2011
Ubicación: Los Mochis, Sinaloa, Mexico
Mensajes: 25
Antigüedad: 13 años
Puntos: 1
Problema al guardar imagen con imagejpeg

Buenas tardes compañeros:D, tengo un problema con el cual ya tengo un buen rato sin poderlo solucionar y es que al momento de querer guardar una imagen con la función "imagejpeg" de la librería gd esta simplemente no me la guarda, quiza sea por el montonal de código que tengo, porque al momento de ver el source no me sale ningún error en el navegador, les dejo el codigo:
"para guardar la imagen se encuentra casi al final del codigo"

Código PHP:
<?
header
("Content-type: image/jpeg");
if(
$_POST){ 
// Creamos la cadena aletoria 
$str "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"
$cad ""
for(
$i=0;$i<12;$i++) { 
$cad .= substr($str,rand(0,62),1); 

// Fin de la creacion de la cadena aletoria 
$tamano $_FILES 'file' ][ 'size' ]; // Leemos el tamaño del fichero 
$tamaño_max="500000"// Tamaño maximo permitido 
if( $tamano $tamaño_max){ // Comprovamos el tamaño  
$destino 'tmp' // Carpeta donde se guardata 
$sep=explode('image/',$_FILES["file"]["type"]); // Separamos image/ 
$tipo=$sep[1]; // Optenemos el tipo de imagen que es 
if($tipo == "gif" || $tipo == "pjpeg" || $tipo == "bmp"$tipo == "jpeg" || $tipo == "png" || $tipo == "jpg" ){ // Si el tipo de imagen a subir es el mismo de los permitidos, segimos. Puedes agregar mas tipos de imagen 
move_uploaded_file $_FILES 'file' ][ 'tmp_name' ], $destino '/' .$cad.'.'.$tipo);  // Subimos el archivo 

else echo 
"el tipo de archivo no es de los permitidos";// Si no es el tipo permitido lo desimos 

else echo 
"El archivo supera el peso permitido.";// Si supera el tamaño de permitido lo desimos 
}  
$imagen $destino.'/'.$cad.'.'.$tipo;

     function 
redimensionar_imagen($imagen$nombre_imagen_asociada)
     {
       
//indicamos el directorio donde se van a colgar las imágenes
       
$directorio "tmp/" ;
       
//establecemos los límites de ancho y alto
       
$nuevo_ancho 438;
       
$nuevo_alto 328;
 
       
//Recojo información de la imágen
       
$info_imagen getimagesize($imagen);
       
$alto $info_imagen[1];
       
$ancho $info_imagen[0];
       
$tipo_imagen $info_imagen[2];
 
       
//Determino las nuevas medidas en función de los límites
       /*if($ancho > $nuevo_ancho OR $alto > $nuevo_alto)
       {
         if(($alto - $nuevo_alto) > ($ancho - $nuevo_ancho))
         {
           $nuevo_ancho = round($ancho * $nuevo_alto / $alto,0) ;    
         }
         else
         {
           $nuevo_alto = round($alto * $nuevo_ancho / $ancho,0);  
         }
       }
       else //si la imagen es más pequeña que los límites la dejo igual.
       {
         $nuevo_alto = $alto;
         $nuevo_ancho = $ancho;
       } */
 
       // dependiendo del tipo de imagen tengo que usar diferentes funciones
       
switch ($tipo_imagen) {
         case 
1//si es gif …
           
$imagen_nueva imagecreate($nuevo_ancho$nuevo_alto);
           
$imagen_vieja imagecreatefromgif($imagen);
           
//cambio de tamaño…
           
imagecopyresampled($imagen_nueva$imagen_vieja0000$nuevo_ancho$nuevo_alto$ancho$alto);
           if (!
imagegif($imagen_nueva$directorio $nombre_imagen_asociada)) return false;
         break;
 
         case 
2//si es jpeg …
           
$imagen_nueva imagecreatetruecolor($nuevo_ancho$nuevo_alto);
           
$imagen_vieja imagecreatefromjpeg($imagen);
           
//cambio de tamaño…
           
imagecopyresampled($imagen_nueva$imagen_vieja0000$nuevo_ancho$nuevo_alto$ancho$alto);
           if (!
imagejpeg($imagen_nueva$directorio $nombre_imagen_asociada)) return false;
         break;
 
         case 
3//si es png …
           
$imagen_nueva imagecreatetruecolor($nuevo_ancho$nuevo_alto);
           
$imagen_vieja imagecreatefrompng($imagen);
           
//cambio de tamaño…
           
imagecopyresampled($imagen_nueva$imagen_vieja0000$nuevo_ancho$nuevo_alto$ancho$alto);
           if (!
imagepng($imagen_nueva$directorio $nombre_imagen_asociada)) return false;
 
         break;
       }
       return 
true//si todo ha ido bien devuelve true
 
     
}

   
$nombre_imagen_asociada "".$cad.".".$tipo."";
   
   
redimensionar_imagen($imagen$nombre_imagen_asociada);
   
   
    
$imgbase "source/imgbase.jpg";
  
$imgup =  $destino.'/'.$cad.'.'.$tipo;
  
 
$imagena imagecreatefromjpeg(''.$imgbase .'');
  
$imagen1 imagecreatefromjpeg(''.$imgup .'');
  
 
imagecopymerge($imagena$imagen131310043832875);
  
//Colores
$blanco imagecolorallocate($imagena255255255);
$gris imagecolorallocate($imagena128128128);
$negro imagecolorallocate($imagena000);

//Fuente
$fuente 'verdanab.ttf';
 
$textoo $_POST['texto'];
  
$textoo1 $_POST['texto1'];
 
$linea3 $_POST['linea3'];

//Centrar
$dimensions imagettfbbox(200$fuente$textoo);
$textWidth abs($dimensions[4] - $dimensions[0]);
$xx =(imagesx($imagena)-$textWidth)/2;

$dimensions1 imagettfbbox(120$fuente$textoo1);
$textWidth1 abs($dimensions1[4] - $dimensions1[0]);
$xx1 =(imagesx($imagena)-$textWidth1)/2;

$dimensions11 imagettfbbox(120$fuente$linea3);
$textWidth11 abs($dimensions11[4] - $dimensions11[0]);
$xx11 =(imagesx($imagena)-$textWidth11)/2;



imagettftext($imagena210$xx388$blanco$fuente$textoo);
imagettftext($imagena120,  $xx1410$blanco$fuente$textoo1);
imagettftext($imagena120,  $xx11425$blanco$fuente$linea3);
$str "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"
$cadena ""
for(
$i=0;$i<12;$i++) { 
$cadena .= substr($str,rand(0,62),1); 

$path ="tmp/".$cadena.".jpeg";
imagejpeg($imagena,$path);
imagedestroy($imagena);



?>