PHP验证码

 

自己写了个简单的php验证码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
$img=ImageCreate(200,50);
$background_color=ImageColorAllocate($img,255,255,255);
$gray=ImageColorAllocate($img,255,0,0);
//画点
for($i=0;$i<100;$i++)
{
    $pointcolor=ImageColorAllocate($img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
    ImageSetPixel($img,mt_rand(50,149),mt_rand(10,39),$pointcolor);
}
 
//划线
for($k=0;$k<2;$k++)
{
    $linecolor=ImageColorAllocate($img,mt_rand(0,255),255,mt_rand(0,255));
    $sy=mt_rand(11,39);
    $ey=mt_rand(11,39);
    ImageLine($img,50,$sy,150,$ey,$linecolor);
}
 
//字符
$pattern='1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
for($j=0;$j<4;$j++)
{
    $fontcolor=ImageColorAllocate($img,0,0,0);
    $x=mt_rand(60,140);
    $y=mt_rand(15,25);
    $key=$pattern[mt_rand(0,62)];
    ImageString($img,5,$x,$y,$key,$fontcolor);
 
}
 
//画矩形
 ImageRectangle($img,50,10,150,40,$gray);
 header('Content-Type:image/png');
 
 //生成图像
 ImagePNG($img);
 ImageDestroy($img);
?>

 

 

posted @   xshang  阅读(247)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示