captcha.php 脚本 怎么写
时间: 2024-03-19 15:44:03 浏览: 25
captcha.php 脚本需要生成一个包含验证码的图片并输出给客户端。以下是一个简单的 PHP 脚本示例:
```php
<?php
// 生成验证码图片
function generateCaptchaImage($code) {
$img_width = 120;
$img_height = 40;
$img = imagecreatetruecolor($img_width, $img_height);
// 生成背景色
$bg_color = imagecolorallocate($img, 255, 255, 255);
imagefill($img, 0, 0, $bg_color);
// 生成随机字符
$possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
$len = strlen($possible);
for ($i = 0; $i < 6; $i++) {
$char = $possible[rand(0, $len - 1)];
$code .= $char;
$text_color = imagecolorallocate($img, rand(0, 200), rand(0, 200), rand(0, 200));
$font_size = rand(20, 25);
$x = ($img_width / 6) * $i + rand(-5, 5);
$y = rand(20, 30);
imagettftext($img, $font_size, rand(-15, 15), $x, $y, $text_color, "arial.ttf", $char);
}
// 输出图片
header("Content-type: image/png");
imagepng($img);
imagedestroy($img);
return $code;
}
// 生成验证码图片并输出
$code = isset($_GET["code"]) ? $_GET["code"] : "";
generateCaptchaImage($code);
```
这段 PHP 脚本会生成一个包含验证码的图片,并输出给客户端。你需要将该脚本保存为 captcha.php 并放在服务器上,然后在 JavaScript 中使用 `updateCaptcha()` 函数时传入正确的验证码 URL,例如:
```javascript
captchaImg.src = "captcha.php?code=" + captcha;
```
在实际应用中,你可能需要根据自己的需求对验证码图片进行修改。