Autor Zpráva
Lolkovnik
Profil *
Mam takovej větši problém udělal jsem si generování náhodného textu a dal jsem to do obrázku abych udělal ochranu proti spambotum. Tak jsem si to napsal otestoval, všechno fungovalo.Hodil jsem to na server a zobrazí se jenom pozadí...čím to může být?
 function captcha($text)
{
    header("Content-type: image/png");
    $img = imagecreatefromPNG("bg.png");
    $white = imagecolorallocate($img, 245, 245, 245);
    $black = imagecolorallocate($img, 0, 0, 0);
    $grey = imagecolorallocate($img, 172, 172, 172);
    imagettftext($img, 25, 1, 14, 34, $grey, "actionj.ttf", $text);
    imagettftext($img, 25, 1, 12, 32, $black, "actionj.ttf", $text);
    imagepng($img);
        imagedestroy($img);
}

To je moje funkce, která bezproblému funguje na localhostu jinak ne... tady je jak to vypadá
Alphard
Profil
odhadoval bych to na problém s fonty, cesta je závislá na verzi GD knihovny, více informací je v manuálu u funkce imagettftext()
Lolkovnik
Profil *
JJ zkusil jsem to normálně přes imgstring(); a funguje to
Lolkovnik
Profil *
ale já bych potřeboval tanhle font, a to teda nevim. Jdu studovat manuál
Čvachta
Profil
Lolkovnik

Spíš si vypiš phpinfo() nebo kontaktuj admina a optej se ho na to...
Alphard
Profil
podstatné je tohle a dále, na http://cz2.php.net/manual/cs/function.imagettftext.php
IMHO není dobré radit ptát se admina bez vlastní snahy vyřešit problém
Depending on which version of the GD library PHP is using, when fontfile does not begin with a leading / then .ttf will be appended to the filename and the library will attempt to search for that filename along a library-defined font path.
Lolkovnik
Profil *
tak jsem to vyřešil. Přidal jsem do kodu
putenv('GDFONTPATH=' . realpath('.'));
Lolkovnik
Profil *
Děkuji moc, ale ještě by mě zajímalo, kdybych chtěl dát na pozadí animovaný gif ,jestli to nějak jde? protože když jsem měl animovaný gif a vytvořil jsem si captchu tak se ten gif nehýbal .. jak je to možný?
loyza
Profil
S tím animovaným gifem to nebude tak úplně jednoduchý, protože ty posíláš klientovi phpčkem vytvořený hotový obrázek. Pokud posíláš obrázek png, tak ten animace nepodporuje a hýbat se nebude. Ty bys musel vytvořit tím phpčkem animovaný gif a ten potom posílat klientovi.
Našel jsem třídu, která s animovanými gify umí pracovat:
http://www.phpclasses.org/browse/package/3163.html
dokonce jsou na tý stránce i odkazy na animovanou captchu, tak se můžeš inspirovat.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0