Autor | Zpráva | ||
---|---|---|---|
Skorpion Profil |
#1 · Zasláno: 8. 9. 2009, 22:25:41
Ahoj, snažím se nějak vytvořit obrázek, takový, aby se do něj dal napsat text, který se vygeneruje při vyplnění jakéhosi formuláře.
zatim se mi povedlo jenom vypsat chyby v kódování. Ví někdo jak na to? Díky |
||
SwimX Profil |
#2 · Zasláno: 8. 9. 2009, 22:39:13
Skorpion:
toto je můj skript na tvorbu captchy, pomůže? <?php session_start(); define ("POCET", 5); // číslo = náhodných písmen nebo čísel v captche $capt = ""; for($i=0; $i<POCET; $i++){ $nahoda = mt_rand(0, 1); if ($nahoda == 0) // mala pismenka $capt .= chr(mt_rand(97, 122)); else // cisla $capt .= chr(mt_rand(49, 57)); // nenačítám nulu aby nedošlo ke zmatení zda jde o nulu nebo o } $_SESSION['capta'] = $capt; // uložení do sessionu abych to moohl porovnávat na jiné stránce $img = imagecreate((POCET+1)*30, 50); // vytvoření obrázku podle počtu cifer $color_bg = imagecolorallocate($img, 11, 11, 11); // barva pozadí imagefill($img, 0, 0, $color_bg); // vyplnění obrázku barvou for ($i = 0; $i<3; $i++){ // 3krát zamíchání souřadnic, barev $x1 = mt_rand(0, (POCET+2)*10); $x2 = mt_rand($x1, (POCET+2)*30); $y1 = mt_rand(0, 20); $y2 = mt_rand($y1, 50); $r = mt_rand(50, 255); $g = mt_rand(50, 255); $b = mt_rand(50, 255); $color_line = imagecolorallocate($img, $r, $g, $b); imageline($img, $x1, $y1, $x2, $y2, $color_line); // udělání čar do obrázků } for($i=0; $i<POCET; $i++){ // vytisknutí písmenek do obrázku $size = mt_rand(20, 30); // náhodná velikost $angel = mt_rand(-30, 30); // náhodný sklon $r = mt_rand(100, 255); //náhodná barva $g = mt_rand(100, 255); $b = mt_rand(100, 255); $color_txt = imagecolorallocate($img, $r, $g, $b); imagettftext($img, $size, $angel, $i*30+10, 40, $color_txt, "Mias.ttf", $_SESSION['capta'][$i]); // vložení textu do obrázku pomocí fontu Mias.ttf } for ($i = 0; $i<3; $i++){ // zase 3 čáry, ale tentokrát přes písmo $x1 = mt_rand(0, (POCET+2)*10); $x2 = mt_rand($x1, (POCET+2)*30); $y1 = mt_rand(0, 20); $y2 = mt_rand($y1, 50); $r = mt_rand(50, 255); $g = mt_rand(50, 255); $b = mt_rand(50, 255); $color_line = imagecolorallocate($img, $r, $g, $b); imageline($img, $x1, $y1, $x2, $y2, $color_line); } header("Content-type: image/png"); // nastavení headru na image/png ImagePng($img); // prirazeni obrazku do captcha.php imagedestroy($img); // uvolneni promnene img - aby nemusela byt v pameti zbytecne ?> |
||
Skorpion Profil |
#3 · Zasláno: 8. 9. 2009, 22:43:11
jjj, díky, dobrý;)
|
||
Časová prodleva: 15 let
|
0