Autor | Zpráva | ||
---|---|---|---|
jerremy Profil * |
#1 · Zasláno: 4. 4. 2012, 12:03:17
Prosim, mohli by ste sa pozriet na daný kód? Slúži na vytvorenie jednoduchého CAPTCHA kódu, no nezobrazuje sa obrázok. Ďakujem
<?php $captcha = NULL; for($i=0;$i<6;$i++){ $rozsah = rand(1,3); switch ($rozsah) { case 1: $captcha .= chr(rand(97,122)); break; case 2: $captcha .= chr(rand(65,90)); break; case 3: $captcha .= chr(rand(48,57)); break; } } //Nastavenie Content-type header('Content-type: image/png'); //Zadefinovanie obrázka a nastavenie velikosti $img = imagecreatetruecolor(100, 25); //Alokovanie farieb $pozadie = imagecolorallocate($img,150,0,0); $pismo = imagecolorallocate($img,255,255,255); //vytvorenie "kresliacej" polchy imagefilledrectangle($img, 0, 0, 100, 25, $pozadie); //Písmo $font = 'corbel.ttf'; //zápis do obrázka imagettftext($img, 12, rand(-5,5), 24, 16, $pismo, $font, $vystup); imagepng($img); imagedestroy($img);?> ?> |
||
Ugo Profil |
#2 · Zasláno: 4. 4. 2012, 12:42:03
jerremy:
„imagedestroy($img);?> ?>“ |
||
jerremy Profil * |
#3 · Zasláno: 4. 4. 2012, 12:52:55
Ugo:
Nie je tam ten riadok. Neviem prečo sa to tam doplnilo (možno zle skopriované), ale koniec je normalne imagepng($img); imagedestroy($img); ?> |
||
Ugo Profil |
#4 · Zasláno: 4. 4. 2012, 13:09:19
tak to je špatný, to byla jasná odpověď :-) zkus se podívat, jestli v $img je opravdu správný resource (nejspíš bude), pak bych zkusil soubor uložit (imagepng by to mělo umět do souboru, případně pustit samotnej script a uložit) a otevřít v nějakym editoru co poví - podle mě bude poškozenej. a první co udělej, zkontroluj jestli máš soubor bez BOM, je možné že se do něj zapisuje chyba s hlavičkama a nebo vadí ten byte
|
||
jerremy Profil * |
#5 · Zasláno: 5. 4. 2012, 12:20:09
Môže to byť aj problém, že na mojom webhostingu (ic.cz) nefunguje nejaká funkcia, alebo knihovňa?
|
||
Davex Profil |
Zkus neposílat hlavičku
header('Content-type: image/png') , abys viděl všechny chyby. Asi bude problém v tom, že není definována proměnná $vystup .
|
||
jerremy Profil * |
#7 · Zasláno: 6. 4. 2012, 10:04:29
Warning: imagettftext() [function.imagettftext]: Could not find/open font in /home/free/ic.cz/g/gogy/root/www/inzercia/inzeraty/zlozky/captcha.php on line 27
‰PNG IHDRČ2–3¶uIDATxśíŇÁ € Ŕ@d\•r^f ¦!š» účő6ܧľbžŕźŚEÂX$ŚEÂX$ŚEÂX$ŚEÂX$ŚEÂX$ŚEÂX$ŚEÂX$ŚEÂX$ŚEÂX$ŚEÂX$ŚEÂX$ŚEÂXĽ˛ÍR4>ĂIEND®B`‚ Ale to pismo mam v tej istej zlozke ako ten skript. $vystup som zmenil na $captcha |
||
Davex Profil |
#8 · Zasláno: 6. 4. 2012, 19:00:32
jerremy:
Zkontroluj si velikost písmen ve jméně souboru s fontem na serveru nebo zkus přidat do cesty: $font = './corbel.ttf'; |
||
kerry Profil * |
#9 · Zasláno: 6. 4. 2012, 21:29:03
‰PNG IHDRČ2–3¶ŕIDATxśíŰoHgđ×[š:˙„ΦѦ‡ŤiĚ2gWɲ´: í&RÚ’•BćR׉X‘ E$H?”RB~ !+’9˙WBś+ĄA›«öY̢kĄKŰ4Ęiöá0˝zmgkŻ˝ŐçG>xďűÜ{ďŢ{ďÄ´.^@Ă›žŔ˙ö¦'ŢNPX€PX€PX€PX€PX€PX€PX€PX€PX€PX€PX€PX€PX€PX€Ľ...
a tak ďalej, takže error nevyhodi, ale problem pretrvava. Skusit zmenit font? |
||
Davex Profil |
#10 · Zasláno: 6. 4. 2012, 22:59:27
Teď už by mělo stačit vrátit zpět ten
header() se správnou hlavičkou, aby se tyhle nesmysly přeměnily v obrázek.
|
||
Časová prodleva: 12 let
|
0