Проблема с прорисовкой кода, заключается в том что картинка не открывается и не генерирует код на картинке? Вот код: <p><img src="code/my_coden.php"></p> <p><input type="text" name="code"></p> Код my_coden.php где генерируется код: <?php // error_reporting(E_ALL); $DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"]; define("code_dir", $DOCUMENT_ROOT."/code/my_codegen/"); $DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"]; define("code_dir", $DOCUMENT_ROOT."/code/my_codegen"); function generate_code() //генерируем код { $hours = date("H"); // час $minuts = substr(date("H"), 0 , 1);// минута $mouns = date("m"); // месяц $year_day = date("z"); // день в году $str = $hours . $minuts . $mouns . $year_day; //создаем строку $str = base64(base64($str)); //дважды шифруем в base64 $str = strrev($str);// реверс строки $str = substr($str, 2, 9); // извлекаем 9 символов, начиная с 2 // Вам конечно же можно постваить другие значения, так как, если взломщики узнают, каким именно способом это все генерируется, то в защите не будет смысла. $array_mix = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY); srand ((float)microtime()*1000000); shuffle ($array_mix); } function img_code() //Прорисовка { header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s", 10000) . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); header("Content-Type:image/png"); //защита от кэширования $linenum = 2; //линии $img_arr = array( "codegen.png",//фон изображения. "codegen0.png"//фон изображения. ); $font_arr = array(); $font_arr[0]["fname"] = "verdana.ttf"; //ttf шрифты $font_arr[0]["size"] = 16;//размер $font_arr[1]["fname"] = "times.ttf"; //ttf шрифты $font_arr[1]["size"] = 16;//размер $n = rand(0,sizeof($font_arr)-1); $img_fn = $img_arr[rand(0, sizeof($img_arr)-1)]; $im = imagecreatefrompng (code_dir . $img_fn); //создаем изображение со случайным фоном for ($i=0; $i<$linenum; $i++) { //рисуем линии $color = imagecolorallocate($im, rand(0, 150), rand(0, 100), rand(0, 150)); imageline($im, rand(0, 20), rand(1, 50), rand(150, 180), rand(1, 50), $color); } $color = imagecolorallocate($im, rand(0, 200), 0, rand(0, 200)); imagettftext ($im, $font_arr[$n]["size"], rand(-4, 4), rand(10, 45), rand(20, 35), $color, code_dir.$font_arr[$n]["fname"], generate_code());//накладываем код for ($i=0; $i<$linenum; $i++) { $color = imagecolorallocate($im, rand(0, 255), rand(0, 200), rand(0, 255)); imageline($im, rand(0, 20), rand(1, 50), rand(150, 180), rand(1, 50), $color); } ImagePNG ($im); ImageDestroy ($im); } img_code(); ?>