Foros del Web » Programando para Internet » PHP »

No genera imagen

Estas en el tema de No genera imagen en el foro de PHP en Foros del Web. Me gustaría que me dijerais que fallo tiene este código, ya que en localhost me funcionaba y ahora que lo he subido no, es para ...
  #1 (permalink)  
Antiguo 14/09/2006, 05:04
 
Fecha de Ingreso: junio-2004
Mensajes: 18
Antigüedad: 19 años, 10 meses
Puntos: 0
No genera imagen

Me gustaría que me dijerais que fallo tiene este código, ya que en localhost me funcionaba y ahora que lo he subido no, es para crear una imagen en la que introduces el numero mediante imagen.php?numero=...

Código PHP:
header("Content-type: image/gif");
$im ImageCreate(10050);
$red ImageColorAllocate($im25500);
$white ImageColorAllocate($im255255255);
$blue ImageColorAllocate($im00255);
$black ImageColorAllocate($im000);
$gris ImageColorAllocate($im125125125);
ImageFill($im00$gris);
// Escribimos el string en (210,30) en negro
//El 5 viene a ser el tamaño de la letra 1-5
$fuente "/font/MiniForma.ttf";
$numero=$HTTP_GET_VARS["numero"];
ImageTTFText($im40,05,40,$blue,$fuente$numero);
// para calcular el grosor de la fuente
$font_width ImageFontWidth($fuente);
// y calculamos la lingitud del strig
$string_width $font_width * (strlen($numero));
// y añadimos la linia de subrallado en (210,50) en negro
while($a<10){
ImageLine($im0$num, (210+$string_width), $num$black);
$a++;
$num=$num+5;
}
while(
$as<30){
ImageLine($im$numa0$numa,(210+$string_width), $black);
$as++;
$numa=$numa+5;
}

imagegif($im);
imagedestroy($im); 
  #2 (permalink)  
Antiguo 14/09/2006, 05:33
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Seguro q el proveedor de tus servicios tiene habilitadas las librerias necesarias? (Supongo q la GD).

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #3 (permalink)  
Antiguo 14/09/2006, 05:39
 
Fecha de Ingreso: junio-2004
Mensajes: 18
Antigüedad: 19 años, 10 meses
Puntos: 0

GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled

No lo entiendo :S
  #4 (permalink)  
Antiguo 14/09/2006, 05:40
Usuario baneado!
 
Fecha de Ingreso: marzo-2006
Ubicación: Cd. de México
Mensajes: 44
Antigüedad: 18 años
Puntos: 0
Prueba $numero=$_GET['numero']; por $numero=$HTTP_GET_VARS["numero"];
  #5 (permalink)  
Antiguo 14/09/2006, 05:49
 
Fecha de Ingreso: junio-2004
Mensajes: 18
Antigüedad: 19 años, 10 meses
Puntos: 0
nada...

Me sale este error:
Warning: imagettftext() [function.imagettftext]: Could not find/open font in /home/p/pinpirates/www/image.php on line 14
  #6 (permalink)  
Antiguo 14/09/2006, 05:51
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Entonces el problema va a ser q la fuente no está instalada en el servidor. Vas a tener q usar otra o solicitar q la instalen.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #7 (permalink)  
Antiguo 14/09/2006, 05:57
 
Fecha de Ingreso: junio-2004
Mensajes: 18
Antigüedad: 19 años, 10 meses
Puntos: 0
Pero yo he subido la fuente... :S

en todo caso ¿cómo puedo saber cuáles están instaladas? Porque no está ni la arial :s

Muchas gracias a todos
  #8 (permalink)  
Antiguo 14/09/2006, 06:02
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Pues q no pille ni la Arial es raro... tal vez no sea ése el problema.

Imagino q la carpeta "font" y la fuente "MiniForma.ttf" están en el path correcto desde el donde subiste el script, no?

No se me ocurre dónde más puede haber problemas... A ver si alguien q entienda más del tema contesta.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #9 (permalink)  
Antiguo 14/09/2006, 06:07
 
Fecha de Ingreso: junio-2004
Mensajes: 18
Antigüedad: 19 años, 10 meses
Puntos: 0
Claro, incluso he probado con $DOCUMENT_ROOT pero nada... también he probado con la fuente times new roman y nada...
  #10 (permalink)  
Antiguo 14/09/2006, 08:17
 
Fecha de Ingreso: junio-2004
Mensajes: 18
Antigüedad: 19 años, 10 meses
Puntos: 0
Por fin encontre la solución, por lo visto es un bug que se arregla con un realpath($fuente)

weeee por fin!
  #11 (permalink)  
Antiguo 14/09/2006, 08:57
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 jonimeloni Ver Mensaje
Por fin encontre la solución, por lo visto es un bug que se arregla con un realpath($fuente)

weeee por fin!
En realidad si en lugar de usar esta ruta:
$fuente = "/font/MiniForma.ttf";

Ubieras usado la ruta absoluta completa:
$fuente = "./font/MiniForma.ttf";

ó

$fuente = "var/www/sitio.com/public_html/font/MiniForma.ttf";

Esa parte de la ruta marcada en negrita la puedes obtener por:

$_SERVER['DOCUMENT_ROOT']

Código PHP:
$fuente $_SERVER['DOCUMENT_ROOT']."/font/MiniForma.ttf"
Ubiera sobrado ... El caso es que en "windows" no se toma encuenta que un "/ para Linux hace referencia NO al "mismo directorio" (que sería con un ./ como en el ejemplo anterior dejé) sino que se hace referencia al "raiz" del servidor entero .. lo cual NO es correcto (ni se referencia al "raiz" de tu sitio en concreto ..)

Ojo con "realpath()" parece que en algúnas configuraciones de PHP no se puede usar dicha función (no recuerdo literatura exacta para confirmalo .. pero hay que tenerlo presente).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #12 (permalink)  
Antiguo 19/09/2006, 08:41
 
Fecha de Ingreso: junio-2004
Mensajes: 18
Antigüedad: 19 años, 10 meses
Puntos: 0
Lo que faltaba, me cambio de server y veo que no está activada la librería freetype... Se puede activar por cpanel?


Gracias
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 04:36.