Autore: Fabio Di Matteo
Ultima revisione: 28/04/2022 - 10:22
Vedremo come creare un'immagine con da usare nei sistemi di CAPTCHA in php e libgd. Intanto ecco il risultato:
<?php function getRandomString($n) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $randomString = ''; for ($i = 0; $i < $n; $i++) { $index = rand(0, strlen($characters) - 1); $randomString .= $characters[$index]; } return $randomString; } function noise($image) { $x = 100; $y = 50; $image = imagecreatetruecolor($x,$y); $white = imagecolorallocate($image, 255, 255, 255); imagefilledrectangle($image, 0, 0, 399, 29, $white); $colorText = imageColorAllocate($image, 255,255,255); for($i = 0; $i < $x; $i++) { for($j = 0; $j < $y; $j++) { $color = imagecolorallocate($image, rand(0,20), rand(0,255), rand(0,255)); imagesetpixel($image, $i, $j, $color); } } return $image; } $im = imagecreatetruecolor(120, 50); $im=noise($im); imagettftext($im, 20, 0, 10, 35, imagecolorallocate($im, 0, 0, 0), './font.ttf', getRandomString(5)); // Output to browser header('Content-Type: image/png'); imagepng($im); imagedestroy($im); ?>
Serve mettere a disposizione dello script un file per il font (font.ttf).