Foros del Web » Programando para Internet » PHP »

Problema al guardar imagen con imagejpeg

Estas en el tema de Problema al guardar imagen con imagejpeg en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 01/09/2012, 16:31
 
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);



?>
  #2 (permalink)  
Antiguo 02/09/2012, 05:49
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 17 años, 11 meses
Puntos: 58
Respuesta: Problema al guardar imagen con imagejpeg

He probado tu codigo y me ha funcionado bien. Si no te da ningún error (ruta de archivos, $POST que no llegan, ruta de la fuente...) la probabilidad de que sea permisos de carpeta es bastante grande :)

Etiquetas: imagejpeg, libreriagd, no+se+guarda
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:57.