Foros del Web » Programando para Internet » PHP »

libreria gd

Estas en el tema de libreria gd en el foro de PHP en Foros del Web. hola amigos tengo unas fotos que quiero subir al servidor y usando la ibreria gd redimensionarlas a un tamaña fijo y crear una miniatura de ...
  #1 (permalink)  
Antiguo 13/09/2010, 19:45
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
libreria gd

hola amigos tengo unas fotos que quiero subir al servidor y usando la ibreria gd redimensionarlas a un tamaña fijo y crear una miniatura de la misma, tengo php 5 y no consigo montar la libreria, podeis hecharme una mano por favor, decirme como lo hacen ustedes???

un saludo gracias
  #2 (permalink)  
Antiguo 13/09/2010, 19:55
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 8 meses
Puntos: 214
Respuesta: libreria gd

Hola
revisa esto
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 13/09/2010, 20:00
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
Respuesta: libreria gd

Cita:
Iniciado por mortiprogramador Ver Mensaje
Hola
revisa esto
saludos
eso lo tengo hecho, como puedo comprobar si la libreria esta operativa?? esque te cuento, me baje el archivo con la libreria y este tiene varias carpetas dentro en una de ellos esta el dll, pero no ser si situar la carpeta gd con todas sus subcarpetas en ext/ o solo el dll con los include que vienen dentro

que me aconsejas???
  #4 (permalink)  
Antiguo 13/09/2010, 20:15
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 8 meses
Puntos: 214
Respuesta: libreria gd

Cita:
Iniciado por churretin Ver Mensaje
eso lo tengo hecho, como puedo comprobar si la libreria esta operativa?? esque te cuento, me baje el archivo con la libreria y este tiene varias carpetas dentro en una de ellos esta el dll, pero no ser si situar la carpeta gd con todas sus subcarpetas en ext/ o solo el dll con los include que vienen dentro

que me aconsejas???
bueno, intenta crear un php nuevo , y poner este código

Código PHP:
<?php
echo phpinfo();
?>
debería salir una sección de gd, de los archivos pues si encuentro los mismos archivos en ubicaciones del server, los reemplazaría previo back up
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #5 (permalink)  
Antiguo 13/09/2010, 20:22
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
Respuesta: libreria gd

aki te dejo mi codigo k me da algunos errores como :
Warning: getimagesize() [function.getimagesize]: Unable to access ../img/06452d54

donde crees que esta el problema, no le veo fallos al codigo pro eso toy mu perdio, un saludo


//----------------------------------------
$logo = substr(md5(uniqid(rand())),0,8).$_FILES['logo_img_emp']['name'];
$img_1 = substr(md5(uniqid(rand())),0,8).$_FILES['img1_emp']['name'];
$img_2 = substr(md5(uniqid(rand())),0,8).$_FILES['img2_emp']['name'];
$img_3 = substr(md5(uniqid(rand())),0,8).$_FILES['img3_emp']['name'];
$img_4 = substr(md5(uniqid(rand())),0,8).$_FILES['img4_emp']['name'];
//subimos las 4 fotos
if (is_uploaded_file($_FILES['logo_img_emp']['tmp_name'])) {
copy($_FILES['logo_img_emp']['tmp_name'],'../img/'.$logo);
}

if (is_uploaded_file($_FILES['img1_emp']['tmp_name'])) {
copy($_FILES['img1_emp']['tmp_name'],'../img/'.$img_1);
}
if (is_uploaded_file($_FILES['img2_emp']['tmp_name'])) {
copy($_FILES['img2_emp']['tmp_name'],'../img/'.$img_2);
}
if (is_uploaded_file($_FILES['img3_emp']['tmp_name'])) {
copy($_FILES['img3_emp']['tmp_name'],'../img/'.$img_3);
}
if (is_uploaded_file($_FILES['img4_emp']['tmp_name'])) {
copy($_FILES['img4_emp']['tmp_name'],'../img/'.$img_4);
}

# ruta de la imagen a redimensionar
$imagen="../img/".$logo;

#ruta de la imagen final, si se pone el mismo nombre que la imagen, esta se sobreescribe
$imagen_final=$logo;
$ancho_nuevo=80;
$alto_nuevo=60;

## FIN CONFIGURACION #############################

redim ($imagen,$imagen_final,$ancho_nuevo,$alto_nuevo);

function redim($ruta1,$ruta2,$ancho,$alto)
{
# se obtene la dimension y tipo de imagen
$datos=getimagesize ($ruta1);

$ancho_orig = $datos[0]; # Anchura de la imagen original
$alto_orig = $datos[1]; # Altura de la imagen original
$tipo = $datos[2];

if ($tipo==1){ # GIF
if (function_exists("imagecreatefromgif"))
$img = imagecreatefromgif($ruta1);
else
return false;
}
else if ($tipo==2){ # JPG
if (function_exists("imagecreatefromjpeg"))
$img = imagecreatefromjpeg($ruta1);
else
return false;
}
else if ($tipo==3){ # PNG
if (function_exists("imagecreatefrompng"))
$img = imagecreatefrompng($ruta1);
else
return false;
}

# Se calculan las nuevas dimensiones de la imagen
if ($ancho_orig>$alto_orig)
{
$ancho_dest=$ancho;
$alto_dest=($ancho_dest/$ancho_orig)*$alto_orig;
}
else
{
$alto_dest=$alto;
$ancho_dest=($alto_dest/$alto_orig)*$ancho_orig;
}

// imagecreatetruecolor, solo estan en G.D. 2.0.1 con PHP 4.0.6+
$img2=@imagecreatetruecolor($ancho_dest,$alto_dest ) or $img2=imagecreate($ancho_dest,$alto_dest);

// Redimensionar
// imagecopyresampled, solo estan en G.D. 2.0.1 con PHP 4.0.6+
@imagecopyresampled($img2,$img,0,0,0,0,$ancho_dest ,$alto_dest,$ancho_orig,$alto_orig) or imagecopyresized($img2,$img,0,0,0,0,$ancho_dest,$a lto_dest,$ancho_orig,$alto_orig);

// Crear fichero nuevo, según extensión.
if ($tipo==1) // GIF
if (function_exists("imagegif"))
imagegif($img2, $ruta2);
else
return false;

if ($tipo==2) // JPG
if (function_exists("imagejpeg"))
imagejpeg($img2, $ruta2);
else
return false;

if ($tipo==3) // PNG
if (function_exists("imagepng"))
imagepng($img2, $ruta2);
else
return false;

return true;
}

?>
  #6 (permalink)  
Antiguo 13/09/2010, 20:24
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 8 meses
Puntos: 214
Respuesta: libreria gd

uhm, parece problema de rutas
el script donde estas ejecutando esta en una carpeta,
y fuera de esta carpeta existe una llamada img?
si la respuesta es true, intenta poner la carpeta img dentro
y quitar los ../
si la respuesta es false, crea la carpeta
si persiste, pregunto, seguias algún tutorial?
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #7 (permalink)  
Antiguo 13/09/2010, 20:36
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
Respuesta: libreria gd

Cita:
Iniciado por mortiprogramador Ver Mensaje
uhm, parece problema de rutas
el script donde estas ejecutando esta en una carpeta,
y fuera de esta carpeta existe una llamada img?
si la respuesta es true, intenta poner la carpeta img dentro
y quitar los ../
si la respuesta es false, crea la carpeta
si persiste, pregunto, seguias algún tutorial?
saludos

eso de ../ creo que es correcto por k este archivo esta en una carpeta llamada php, por lo cual tiene k retroceder una posicion y despues entrar en img, que siempre existe, no puede no existir

no sigo un tutorial en concreto, es una mezcla de codigo mio con codigo de otros tutoriales
  #8 (permalink)  
Antiguo 13/09/2010, 20:58
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 8 meses
Puntos: 214
Respuesta: libreria gd

uhm, entonces pregunto, img esta dentro del www o htdocs del servidor?
revisaste permisos?
revisa esto
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #9 (permalink)  
Antiguo 13/09/2010, 21:00
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
Respuesta: libreria gd

Cita:
Iniciado por mortiprogramador Ver Mensaje
uhm, entonces pregunto, img esta dentro del www o htdocs del servidor?
revisaste permisos?
revisa esto
saludos
ahora mismo ta en local, pero dentro de poco la tengo k pasar a un servidor
  #10 (permalink)  
Antiguo 14/09/2010, 12:09
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
Respuesta: libreria gd

me toy desesperando jajajaja
e probao con varios codios muy distintos y todo terminan donde mismo en:
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: Unable to access d038976b in C:\xampp\htdocs\...............................

alguein sabe de que pude ser????
  #11 (permalink)  
Antiguo 14/09/2010, 13:20
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 8 meses
Puntos: 214
Respuesta: libreria gd

Cita:
Iniciado por mortiprogramador Ver Mensaje
uhm, entonces pregunto, img esta dentro del www o htdocs del servidor?
revisaste permisos?
revisa esto
saludos
Código PHP:
<?php
$respuesta 
'revisaste el link?';
if( 
$respuesta )
revisar_documentacion('http://php.net/');
?>
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 14/09/2010 a las 13:22 Razón: add_comment
  #12 (permalink)  
Antiguo 14/09/2010, 14:46
Avatar de rickyper  
Fecha de Ingreso: abril-2009
Mensajes: 182
Antigüedad: 15 años
Puntos: 10
Respuesta: libreria gd

Aqui hay documentacion:
http://php.net/manual/es/function.imagecreatefromjpeg.php
Sino te da resultados con ese ejemplo es problema de librerias o de rutas
  #13 (permalink)  
Antiguo 14/09/2010, 15:45
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
Respuesta: libreria gd

creo que solvente el problema pero ahora me dice k el nombre de la imagen esta vacio, $img_1 solo recoje los cartacteres aleatorios, no el nombre, por lo que enseguida me falla la funcion, de que puede ser?? porque img1_emp esta bien es el nombre del imput de la foto


function redimensionar_jpeg($img_original, $img_nueva, $img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad) {

// crear imagen desde original
$img = ImageCreateFromJPEG($img_original);

// crear imagen nueva
$thumb = imagecreatetruecolor($img_nueva_anchura,$img_nueva _altura);

// redimensionar imagen original copiandola en la imagen
imagecopyresampled ($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva _altura,imagesx($img),imagesy($img));

// guardar la imagen redimensionada donde indica $img_nueva
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
}
echo $img_1 = substr(md5(uniqid(rand())),0,8).$_FILES['img1_emp']['name'];

redimensionar_jpeg($_FILES['img1_emp']['tmp_name'],'../img/'.$img_1,100,100,75);
  #14 (permalink)  
Antiguo 14/09/2010, 21:40
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 8 meses
Puntos: 214
Respuesta: libreria gd

Cita:
Iniciado por churretin Ver Mensaje
creo que solvente el problema pero ahora me dice k el nombre de la imagen esta vacio, $img_1 solo recoje los cartacteres aleatorios, no el nombre, por lo que enseguida me falla la funcion, de que puede ser?? porque img1_emp esta bien es el nombre del imput de la foto


function redimensionar_jpeg($img_original, $img_nueva, $img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad) {

// crear imagen desde original
$img = ImageCreateFromJPEG($img_original);

// crear imagen nueva
$thumb = imagecreatetruecolor($img_nueva_anchura,$img_nueva _altura);

// redimensionar imagen original copiandola en la imagen
imagecopyresampled ($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva _altura,imagesx($img),imagesy($img));

// guardar la imagen redimensionada donde indica $img_nueva
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
}
echo $img_1 = substr(md5(uniqid(rand())),0,8).$_FILES['img1_emp']['name'];

redimensionar_jpeg($_FILES['img1_emp']['tmp_name'],'../img/'.$img_1,100,100,75);
uhm, pues al usar $_FILES, tal vez la primera vez que ejecuta la página,
dicho array no tiene nada y por eso muestra ese mensaje,
te pasa lo mismo siempre incluso cargando la foto?
se me ocurre validar el llamado a esa función dependiendo
del valor de $_FILES
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: libreria
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 09:54.