View file base/capcha.php

File size: 1.5Kb
<? //by rine(Andrey Arapov) & BEPDuKT(Aleksey Ivanov) site: dizkod.ru
session_name('DECO');
session_start();

 include_once('../config/config.php');

$ccc=mysql_fetch_assoc(mysql_query("SELECT * FROM `capcha` "));

$_SESSION['code']=rand(1000,9999);

// Задаем размеры изображения
$imwidth = 86;
$imheight = 26;

$im = ImageCreate($imwidth, $imheight);
$background_color = ImageColorAllocate($im, $ccc[bg_r], $ccc[bg_g], $ccc[bg_b]);
$text_color = ImageColorAllocate($im, $ccc[t_r], $ccc[t_g], $ccc[t_b]);


// Генерируем помехи в виде линий
$g1 = imagecolorallocate($im, $ccc[l_r], $ccc[l_g], $ccc[l_b]);// Задаем цвет линий
for ($i = 0; $i <= 100; $i += 6)
    imageline($im, $i, 0, $i, 25, $g1);// Горизонтальные линии
for ($i = 0; $i <= 25; $i += 5)
    imageline($im, 0, $i, 100, $i, $g1);// Вертикальные линии


$code = substr($_SESSION["code"], 0, 4);
$x = 0;
$stringlength = strlen($code);
for ($i = 0; $i < $stringlength; $i++) {
    $x = $x + (rand(8, 21));
    $y = rand(2, 10);
    $font = rand(4, 25);
    $single_char = substr($code, $i, 1);
    imagechar($im,$font , $x, $y, $single_char, $text_color);
  }
// Передача изображения в Браузер
ob_start();
ImageGif($im);
ImageDestroy($im);
header("Content-Type: image/gif");
header('Content-Disposition: inline; filename=code.gif');
header('Content-Length: ' . ob_get_length());
ob_end_flush();



?>