PHPチップ——ciの検証コード
2446 ワード
自分で認証コードを書くとき、文字の位置付けが間違っています.
そこでci検証コードの主要部分を差し引いて、見て、普通、干渉線はハイライトです
コードは多くの判断を除去し、多くの判断を簡略化し、表示効果は同じである.
そこでci検証コードの主要部分を差し引いて、見て、普通、干渉線はハイライトです
コードは多くの判断を除去し、多くの判断を簡略化し、表示効果は同じである.
'',
'img_path' => './',
'img_url' => '',
'img_width' => '150',
'img_height' => '30',
'font_path' => './instance/font/Elephant.ttf',
'expiration' => 7200,
'word_length' => 4,
'font_size' => 16,
'img_id' => '',
'pool' => '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
'colors' => array(
'background' => array(255,255,255),
'border' => array(153,102,102),
'text' => array(204,153,153),
'grid' => array(255,182,182)
)
);
//
foreach ($defaults as $key => $val){
$$key = $val;
}
//
$word = '';
$pool_length = strlen($pool);
$rand_max = $pool_length - 1;
for ($i = 0; $i = 6) ? mt_rand(-($length-6), ($length-6)) : 0;
$x_axis = mt_rand(6, (360/$length)-16);
$y_axis = ($angle >= 0) ? mt_rand($img_height, $img_width) : mt_rand(6, $img_height);
//
$im = p_w_picpathcreatetruecolor($img_width, $img_height);
//
foreach ($colors as $key => $values)
{
$colors[$key] = p_w_picpathcolorallocate($im, $colors[$key][0], $colors[$key][1], $colors[$key][2]);
}
// ,
ImageFilledRectangle($im, 0, 0, $img_width, $img_height, $colors['background']);
// ----------------- --------------------------
$theta = 1;
$thetac = 7;
$radius = 16;
$circles = 20;
$points = 32;
for ($i = 0, $cp = ($circles * $points) - 1; $i 5) && $font_size = 5;
// $x = mt_rand(0, $img_width / ($length / 3));
// $y = 0;
// for ($i = 0; $i 30) && $font_size = 30;
$x = mt_rand(0, $img_width / ($length / 1.5));
$y = $font_size + 2;
for ($i = 0; $i ';
// ImageDestroy($im);
// return array('word' => $word, 'time' => $now, 'p_w_picpath' => $img, 'filename' => $img_filename);
// echo $img;
// png
header('Content-type:p_w_picpath/jpg');
// png
p_w_picpathjpeg($im);
//
p_w_picpathdestroy($im);