PHP: <?php error_reporting(0); $key = $_GET['q']; if ($key == '') { //$key = urlencode('test'); //print ' '; } ?> <?php $q2 = $key; $q2s = str_replace('+', ' ', $q2s); session_start(); //You can do any necessary settings as you wish here //If you reduce the width and height of the captcha here then you have to change it in the css file as well $image_width = 600; $image_height = 500; $characters_on_image = 10; $font = 'images/monofont.ttf'; //The characters that can be used in the CAPTCHA code. Avoid confusing characters (l 1 and i for example) $possible_letters = "".$key.""; $random_dots = 0; $random_lines = 20; $random_imgs = 1; $captcha_text_color="0x142864"; $captcha_noice_color = "0x142864"; $code = ''; $code = $key; //$i = 0; //while ($i < $characters_on_image) //{ // $code .= substr($possible_letters, mt_rand(0, strlen($possible_letters)-1), 1); // $i++; //} $font_size = $image_height * 0.04; $image = @imagecreate($image_width, $image_height); /*Setting the background, text and noise colours here */ $background_color = imagecolorallocate($image, 255, 255, 255); $arr_text_color = RGB_HEX($captcha_text_color); $text_color = imagecolorallocate($image, $arr_text_color['red'], $arr_text_color['green'], $arr_text_color['blue']); $arr_noice_color = RGB_HEX($captcha_noice_color); $image_noise_color = imagecolorallocate($image, $arr_noice_color['red'], $arr_noice_color['green'], $arr_noice_color['blue']); /*This generates the dots randomly strings in background */ for( $i=0; $i<$random_dots; $i++ ) { imagefilledellipse($image, mt_rand(0,$image_width), mt_rand(0,$image_height), 2, 3, $image_noise_color); } for( $i=0; $i<$random_imgs; $i++ ) { $green = imagecolorallocate($image, 0, 255, 0); imageellipse($image, 250, 250, 300, 200, $green); } /*This generates lines randomly strings in background of image */ for( $i=0; $i<$random_lines; $i++ ) { imageline($image, mt_rand(0,$image_width), mt_rand(0,$image_height), mt_rand(0,$image_width), mt_rand(0,$image_height), $image_noise_color); } /*This creates a text box and add 6 letters code in it */ $textbox = imagettfbbox($font_size, 0, $font, $code); $x = ($image_width - $textbox[4])/10; $y = ($image_height - $textbox[5])/10; imagettftext($image, $font_size, 0, $x, $y, $text_color, $font , $code); /* Show captcha image in the page html page */ header('Content-Type: image/jpeg');// defining the image type to be shown in browser widow imagejpeg($image);//showing the image imagedestroy($image);//destroying the image instance $_SESSION['vpb_captcha_code'] = $code; function RGB_HEX ($hexstr) { $int = hexdec($hexstr); return array("red" => 0xFF & ($int >> 0x10),"green" => 0xFF & ($int >> 0x8),"blue" => 0xFF & $int); } ?> Получается так P.S. Хочу чтобы за место круга грузилось рандомное фото из папки. Пожалуйста помогите реализовать - очень надо.
Мой 2013 рандом, криво но для "сделай за меня" сойдет PHP: <?php $resurse = rand(1,count(array_merge(glob("*.png")))); $resurse_d = rand(1,count(array_merge(glob("d/*.png")))); $resurse_n = rand(1,count(array_merge(glob("n/*.png")))); $resurse_n_s = rand(1,count(array_merge(glob("n/s/*.png")))); IF($resurse == '1'){ $img_1 = imageCreateFromPNG("1.png"); $img_2 = imageCreateFromPNG("d/$resurse_d.png"); } elseIF($resurse == '2'){ $img_1 = imageCreateFromPNG("2.png"); $img_2 = imageCreateFromPNG("n/$resurse_n.png"); $img_3 = imageCreateFromPNG("n/s/$resurse_n_s.png"); } elseIF($resurse == '3'){ $img_1 = imageCreateFromPNG("3.png"); IF(rand(1,2) == '1'){ $img_2 = imageCreateFromPNG("d/$resurse_d.png"); } else { $img_2 = imageCreateFromPNG("n/$resurse_n.png"); } IF($resurse = rand(1,2) == '2'){ $img_3 = imageCreateFromPNG("n/s/$resurse_n_s.png"); } } header("Content-type: image/png"); header("Content-Disposition: filename=".rand(000000,9999999999).";"); imagecopy($img_1,$img_2,0,0,0,0,46,64); IF($resurse == '2'){ imagecopy($img_1,$img_3,0,0,0,0,46,64); } imagealphablending($img_1, false); imagesavealpha($img_1, true); imagepng($img_1);