<html>
<head>
</head>
<body class='hmmessage'><div dir='ltr'>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style>
<div dir="ltr">Buenas, queria saber si alguien puede llegar a ayudarme a entender el porque el codigo que voy a adjuntar no me genera las letras dentro de la imagen.<br>Lo pruebo en mi localhost y funciona perfectamente, lo subo a un hosting y las letras no aparecen. Reviso la configuracion con phpinfo de mi localhost y del hosting y son casi identicas (tambien las adjunto).<br><br>Desde ya muchas Gracias.<br><br>Archivo php para generar un Captcha<br><br><?php<br> session_start();<br> function CreateLines($img,$w,$h,$c,$y) <br> {<br> //Creo el Largo de la Linea<br> $Largo=rand(50,130);<br> //Creo la Posicion inicial X<br> do <br> {<br> $PosXi=rand(0,50);<br> }while(($PosXi+$Largo)>150);<br> //Creo la Posicion inicial Y<br> $PosYi=rand($y,$y+14);<br> //Creo la Posicion Final Y<br> do <br> {<br> $PosYf=rand(1,49);<br> }while($PosYi!==$PosYf);<br> //Creo el ancho de la linea <br> imagesetthickness($img, 1);<br> //Creo las lineas en la imagen<br> imageline($img, $PosXi, $PosYi, $PosXi+$Largo, $PosYf, $c);<br> }<br> <br> function GenerateCaptcha($letra) <br> {<br> $width=150;<br> $height=50; <br> $Fondo=imagecreate($width, $height);<br> $Color = imagecolorallocate($Fondo,255,50,0);<br> $colorFondo=imagecolorallocate($Fondo, 40, 170, 0);<br> $ColorLinea = imagecolorallocate($Fondo,255,50,0);<br> imagefill($Fondo, 0, 0, $colorFondo);<br> $CantLines=0;<br> $PosY=3;<br> do <br> {<br> CreateLines($Fondo,$width,$height,$ColorLinea,$PosY);<br> $CantLines++;<br> $PosY=$PosY+15;<br> }while($CantLines<3);<br> // Reemplace la ruta por la de su propia fuente<br> $fuente = "Font/DACTYLOG.TTF";<br> // Añadir el texto<br> $CantLet=0;<br> $LetInit=5;<br> do <br> {<br> $angulo=rand(0,10);<br> <br> imagefttext($Fondo, rand(20,25), $angulo, rand($LetInit,$LetInit+10), rand(25,45), $Color, $fuente, substr($letra, $CantLet,1));<br> //imagettftext($Fondo, rand(20,25), $angulo, rand($LetInit,$LetInit+10), rand(25,45), $Color, $fuente, substr($letra, $CantLet,1));<br> $CantLet++;<br> $LetInit=$LetInit+27;<br> }while($CantLet < strlen($letra));<br> // Imprimir la imagen al navegador<br> header("Content-type: image/png");<br> imagepng($Fondo); <br> }<br> //En el php que lo llama a este se genera un string de 5 caracteres al azar entre letras y numeros que se guarda en $_SESSION["captcha"] , probe haciendo un print_r($_SESSION) y la cadena se genera perfectamente.<br> GenerateCaptcha($_SESSION["captcha"]);<br>?><br><br>La direccion de la fuente con el archivo existe, probe con la fuente arial y con esta otra que hace referencia $fuente<br><br><br>Phpinfo de libreria GD en localhost:<br><h2><a name="module_gd">gd</a></h2>
<table border="0" cellpadding="3" width="600"><tbody><tr><td class="e">GD Support </td><td class="v">enabled </td></tr>
<tr><td class="e">GD Version </td><td class="v">2.0 </td></tr>
<tr><td class="e">FreeType Support </td><td class="v">enabled </td></tr>
<tr><td class="e">FreeType Linkage </td><td class="v">with freetype </td></tr>
<tr><td class="e">FreeType Version </td><td class="v">2.4.4 </td></tr>
<tr><td class="e">T1Lib Support </td><td class="v">enabled </td></tr>
<tr><td class="e">GIF Read Support </td><td class="v">enabled </td></tr>
<tr><td class="e">GIF Create Support </td><td class="v">enabled </td></tr>
<tr><td class="e">JPEG Support </td><td class="v">enabled </td></tr>
<tr><td class="e">libJPEG Version </td><td class="v">6b </td></tr>
<tr><td class="e">PNG Support </td><td class="v">enabled </td></tr>
<tr><td class="e">libPNG Version </td><td class="v">1.2.46 </td></tr>
<tr><td class="e">WBMP Support </td><td class="v">enabled </td></tr></tbody></table><br><br>Phpinfo de libreria GD en el hosting:<br><h2><a name="module_gd">gd</a></h2>
<table border="0" cellpadding="3" width="600"><tbody><tr><td class="e">GD Support </td><td class="v">enabled </td></tr>
<tr><td class="e">GD Version </td><td class="v">bundled (2.0.34 compatible) </td></tr>
<tr><td class="e">FreeType Support </td><td class="v">enabled </td></tr>
<tr><td class="e">FreeType Linkage </td><td class="v">with freetype </td></tr>
<tr><td class="e">FreeType Version </td><td class="v">2.4.2 </td></tr>
<tr><td class="e">GIF Read Support </td><td class="v">enabled </td></tr>
<tr><td class="e">GIF Create Support </td><td class="v">enabled </td></tr>
<tr><td class="e">JPEG Support </td><td class="v">enabled </td></tr>
<tr><td class="e">libJPEG Version </td><td class="v">6b </td></tr>
<tr><td class="e">PNG Support </td><td class="v">enabled </td></tr>
<tr><td class="e">libPNG Version </td><td class="v">1.2.44 </td></tr>
<tr><td class="e">WBMP Support </td><td class="v">enabled </td></tr>
<tr><td class="e">XBM Support </td><td class="v">enabled </td></tr></tbody></table><br><br>Como pueden ver incluso la version de gd es superior en el hosting, y de acuerdo a php.net que recomienda tener una gd superior a la version 2.0.28<br><br>Alguien puede ver o se le ocurre en que puede estar fallando o si necesitan alguna otra informacion para ayudarme solo me dicen y la subo.<br><br>Muchas Gracias.<br><br>In his heart, in his eyes<br>In his soul, there’s no sign of thunder<br>Screams, can you hear the screaming<br>When another restless soul must die<br></div>
</div></body>
</html>