Foros del Web » Programando para Internet » PHP »

¿hay alternativa a imagecreatefromjpeg()?

Estas en el tema de ¿hay alternativa a imagecreatefromjpeg()? en el foro de PHP en Foros del Web. Hola amigos, Tengo este script sacado de este foro, en el que se crea un thumbnail a partir de una imagen dada. Si lo ejecuto ...
  #1 (permalink)  
Antiguo 04/11/2005, 13:36
 
Fecha de Ingreso: septiembre-2005
Mensajes: 94
Antigüedad: 18 años, 6 meses
Puntos: 0
problema con imagecreatefromjpg()

Hola amigos,
Tengo este script sacado de este foro, en el que se crea un thumbnail a partir de una imagen dada.
Si lo ejecuto en mi servidor local, todo va bien. Pero cuando lo ejecuto en el servidor web que tengo, veo que se queda bloqueado en la línea de $img = @imagecreatefromjpg(...)

No sé si el servidor tiene que tener alguna configuración específica, o alguna versión de php (he visto que tiene php 4.3.11 con phpinfo())

Espero que podáis ayudarme. Sino, gracias de todas formas!
Un saludo !!!

Código PHP:
function thumb($imagen,$altura) {
     
// Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande".
     
$dir_thumb "imagenes_thumbs/";
     
// Prefijo que se añadirá al nombre del thumbnail. Ejemplo: si la imagen grande fuera "imagen1.jpg",
     // el thumbnail se llamaría "tn_imagen1.jpg"
     
$prefijo_thumb "tn_";

     
// Aquí tendremos el nombre de la imagen.
     
$nombre=basename($imagen);
     
// Aquí la ruta especificada para buscar la imagen.
     
$camino=dirname($imagen)."/";

     
// Intentamos crear el directorio de thumbnails, si no existiera previamente.
     
if (!file_exists($camino.$dir_thumb))
          @
mkdir ($camino.$dir_thumb0777) or die("No se ha podido crear el directorio ".$camino.$dir_thumb);

     
// Aquí comprovamos que la imagen que queremos crear no exista previamente
     
if (!file_exists($camino.$dir_thumb.$prefijo_thumb.$nombre)) {
          echo 
$camino.$dir_thumb.$prefijo_thumb.$nombre." NO existía<br>\n";
          echo 
"hola13";
         [
B]$img= @imagecreatefromjpeg($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n");[/B]
        echo 
"hola1";

          
// miramos el tamaño de la imagen original...
          
$datos getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>\n");
echo 
"hola2";
          
// intentamos escalar la imagen original a la medida que nos interesa
          
$ratio = ($datos[1] / $altura);
          
$anchura round($datos[0] / $ratio);
echo 
"hola3";
          
// esta será la nueva imagen reescalada
          
$thumb imagecreatetruecolor($anchura,$altura);

          
// con esta función la reescalamos
          
imagecopyresampled ($thumb$img0000$anchura$altura$datos[0], $datos[1]);

          
// voilà la salvamos con el nombre y en el lugar que nos interesa.
              
imagejpeg($thumb,$camino.$dir_thumb.$prefijo_thumb.$nombre);
     }
}
?> 
  #2 (permalink)  
Antiguo 04/11/2005, 13:53
 
Fecha de Ingreso: septiembre-2005
Mensajes: 94
Antigüedad: 18 años, 6 meses
Puntos: 0
Corrección: la función es imagecreatefromjpeg(...)
  #3 (permalink)  
Antiguo 04/11/2005, 14:01
 
Fecha de Ingreso: septiembre-2005
Mensajes: 94
Antigüedad: 18 años, 6 meses
Puntos: 0
He trazado el programa y he llegado a que es esa función la que falla. Pero no da mensaje de error, simplemente es como si el programa ya no avanzara más de la línea que llama a la función.

Gracias
  #4 (permalink)  
Antiguo 05/11/2005, 15:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por raul123
He trazado el programa y he llegado a que es esa función la que falla. Pero no da mensaje de error, simplemente es como si el programa ya no avanzara más de la línea que llama a la función.

Gracias
No te dá mensaje de error porqué -forzosamente- estás obligando a PHP a que no los muestre.

Quita el @ que tienes delante de toda función que uses y así observaras el error concreto.

La "@" la debes usar sólo cuando tu script/código lo pases a producción .. en "desarrollo" debes -ver- todo mensaje de error que se pueda producir, cosa que en "producción" no te interesará que se vea si se produce por motivos de seguridad o personalización de tus própios mensajes de error.

Un saludo,
  #5 (permalink)  
Antiguo 06/11/2005, 02:21
 
Fecha de Ingreso: septiembre-2005
Mensajes: 94
Antigüedad: 18 años, 6 meses
Puntos: 0
Quito la @ y sigue sin darme el fallo. Se queda bloqueado a la altura de imagecreatefromjpeg().
¿Qué puede ser?
  #6 (permalink)  
Antiguo 06/11/2005, 05:37
 
Fecha de Ingreso: septiembre-2005
Mensajes: 94
Antigüedad: 18 años, 6 meses
Puntos: 0
¿hay alternativa a imagecreatefromjpeg()?

Hola amigos,
llevo unos días intentando encontrar el error que tengo en esta función para hacer Thumbs, pero se queda atascado en la función imagecreatefromjpeg(). Sencillamente, el programa no avanza. Ni siquiera devuelve error alguno.
No sé ya qué hacer, porque, además, en mi servidor local(en mi Pc) todo funciona correctamente. Pero en el servidor que tengo la web no va.

¿¿Hay alguna función que haga lo mismo que imagecreatefromjpeg() para así sustituirla??
  #7 (permalink)  
Antiguo 06/11/2005, 09:49
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 20 años, 2 meses
Puntos: 5
Tal ves sea posible que en el servidor que tienes tu web alojada no tenga muy bien instalada o configurada la librería GD muy importante para que corra bien ese tipo de funcion imagecreatefromjpeg(), intenta probar esos escript en otro server, para que descartes esa posibilidad
__________________
Maracay Edo Aragua - Venezuela :
Mi Favorita :
http://www.MySQL.Com
  #8 (permalink)  
Antiguo 06/11/2005, 10:26
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 2 meses
Puntos: 0
Exacto, hacé un phpinfo y fijate si la extensión de la librería GD está instalada en tu server.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #9 (permalink)  
Antiguo 06/11/2005, 16:23
 
Fecha de Ingreso: septiembre-2005
Mensajes: 94
Antigüedad: 18 años, 6 meses
Puntos: 0
Muchas gracias.
Se lo comentaré a los que gestionan mi servidor...aunque parece que no les interesa mucho eso...pq no responden nunca.
  #10 (permalink)  
Antiguo 06/11/2005, 17:33
 
Fecha de Ingreso: septiembre-2005
Mensajes: 94
Antigüedad: 18 años, 6 meses
Puntos: 0
¿cuál es la extensión que tiene que estar instalada?

He mirado en el phpinfo a ver si encontraba algo relacionado con gd pero, realmente no sé que busco. Me podrías decir ¿dónde y bajo qué nombre está la susodicha librería?

Gracias!
  #11 (permalink)  
Antiguo 06/11/2005, 17:36
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 2 meses
Puntos: 0
http://fedeblog.com.ar/files/phpinfo_gd.png

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #12 (permalink)  
Antiguo 06/11/2005, 17:44
 
Fecha de Ingreso: septiembre-2005
Mensajes: 94
Antigüedad: 18 años, 6 meses
Puntos: 0
Hola Fede,
Acabo de mirar el phpinfo y, ni siquiera hay una tabla bajo el epígrafe de GD: pasa de la tabla FTP a la tabla GETTEXT...me imagino que eso es lo que explica todo, no?No estará cargado el GD, no?.
  #13 (permalink)  
Antiguo 06/11/2005, 17:46
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 2 meses
Puntos: 0
No, si no aparece no está instalada.
Pediles que la instalen, no es nada del otro mundo .Hasta algunos hosts gratis la tienen :/

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #14 (permalink)  
Antiguo 06/11/2005, 17:49
 
Fecha de Ingreso: septiembre-2005
Mensajes: 94
Antigüedad: 18 años, 6 meses
Puntos: 0
Eso voy a hacer ahora mismo. Les pediré que la instalen. Aunque no sé qué efecto causará mi petición...Mi host es gratuito y seguramente ni se molesten.
Me recomendarías algún host gratuito que la tenga?
Oye, antes de nada, muchas gracias por todo!!!
  #15 (permalink)  
Antiguo 07/11/2005, 02:55
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 20 años, 2 meses
Puntos: 5
Cita:
Iniciado por raul123
Eso voy a hacer ahora mismo. Les pediré que la instalen. Aunque no sé qué efecto causará mi petición...Mi host es gratuito y seguramente ni se molesten.
Me recomendarías algún host gratuito que la tenga?
Oye, antes de nada, muchas gracias por todo!!!
Ummm a ver? por ahi venia la cosa ..., es un poco dificil encontrar hosting gratuitos con la mayorias de los recursos intalados en el servidor... Creo que tendras que recurrir a buscador de Google a ver si consigues uno con la Libreria GD Instaladas (Cosa que creo sera muy dificil)...

Suerte.-
__________________
Maracay Edo Aragua - Venezuela :
Mi Favorita :
http://www.MySQL.Com
  #16 (permalink)  
Antiguo 07/11/2005, 05:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero no muestra ningún mensaje de error? .. tienes más @ delante de otras funciones .. quitale el @.

Puede ser también que tengas a PHP desactivado el mostrar errores, fuerza verlos usando:

error_reporting(E_ALL);

al principio de tu script.

Un saludo,

PD: .. EL objetivo es ver el mensaje de error .. con ese mensaje de error podrás ver como solventar el problema .. si no hay mensaje de error es como ir a "ciegas" ..
  #17 (permalink)  
Antiguo 07/11/2005, 06:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
raul123

No repitas tus mensajes .. continua el hilo de los que abras. No deberías ver "Alternativas" a un problema sino ver donde está el problema . .por qué si no aprendes a localizar un problema .. ahora te fallará esta función otro día será otra y estarás en las mismas.

Un saludo,
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 02:53.