30 lines
959 B
PHP
30 lines
959 B
PHP
<?php
|
|
session_start();
|
|
header("content-type:image/png");
|
|
$image_width = 70;
|
|
$image_height = 18;
|
|
$new_number = "";
|
|
for ($i = 0; $i < 4; $i++) {
|
|
$k = rand(0, 2);
|
|
if ($k == 0) { //小写字母
|
|
$new_number .= chr(rand(97, 122));
|
|
} else if ($k == 1) { //大写字母
|
|
$new_number .= chr(rand(65, 90));
|
|
} else { //数字
|
|
$new_number .= chr(rand(48, 57));
|
|
}
|
|
|
|
}
|
|
$_SESSION['check_checks'] = $new_number;
|
|
$num_image = imagecreate($image_width, $image_height);
|
|
imagecolorallocate($num_image, 255, 255, 255);
|
|
for ($i = 0; $i < strlen($_SESSION['check_checks']); $i++) {
|
|
$font = mt_rand(3, 5);
|
|
$x = mt_rand(1, 8) + intdiv($image_width * $i, 4);
|
|
$y = mt_rand(1, intdiv($image_height, 4));
|
|
$color = imagecolorallocate($num_image, mt_rand(0, 100), mt_rand(0, 150), mt_rand(0, 200));
|
|
imagestring($num_image, $font, $x, $y, $_SESSION['check_checks'][$i], $color);
|
|
}
|
|
imagepng($num_image);
|
|
imagedestroy($num_image);
|