PHPチップ——ciの検証コード

2446 ワード

自分で認証コードを書くとき、文字の位置付けが間違っています.
そこで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);