PHP验证码代码分享
admin
2023-06-21 21:22:21
0


session_start();   //在文件的最开头打开session 
//把英文和中文分别放入两个数组中 
$english_arr=array('q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j', 
                        'k','l','z','x','c','v','b','n','m'); 
$chinese_arr=array('一','二','三','四','五','六','七','八','九','十','零','木','和','我', 
                        '人','有','的','右','主','产','为','这','工','上','下','左'); 
/** 
* 取得中文和英文 
*/ 

/** 
* 取得一个随机数, 随机字母,随机中文 
*/ 
for($i=0;$i<5;$i++) 

    $index=rand(0,2); 
    if($index=='0') 
    { 
        $num.=rand(0,9); 
//        echo "$num
"; 

    } 
    else if($index=='1') 
    { 
        $num.=$english_arr[rand(0,25)]; 
//        echo "$num
"; 

    } 
    else if($index=='2') 
    { 
//        echo $num; 
        $num.=$chinese_arr[rand(0,25)];   //如果加入的是中文,则要转换编码 
//        echo "$num
"; 

    } 



$_SESSION[check_num]=$num;  //把这个验证码记入session中 
//echo $_SESSION[check_num]; 
//  p_w_picpathcreatetruecolor(宽,高) 
$p_w_picpath=p_w_picpathcreatetruecolor(150,50);   //创建一个100,30的图片 

//  p_w_picpathcolorallocate(图片名,红,蓝,绿)   三原色 
p_w_picpathcolorallocate($p_w_picpath,rand(0,255),rand(0,255),rand(0,255));//第一次是设置图片背景色,三原色随机 

$color=p_w_picpathcolorallocate($p_w_picpath,255,255,255);//以后的为了创建一种颜色 

// p_w_picpathstring(图片名,字体类型1-6六种,X坐标,Y坐标,内容,颜色) 
//p_w_picpathstring($p_w_picpath,rand(3,6),10,3,$num,$color);   //把内容写到图片中  不能输出中文 

//  p_w_picpathttftext(图片名,字体大小,偏移角度,X坐标,Y坐标,颜色,字体文件地址,输入的内容)  这个内容必须要在输入的时候转换编码 
p_w_picpathttftext($p_w_picpath,rand(15,18),0,rand(2,50),rand(30,39),$color,'simkai.ttf',iconv('GBK','UTF-8',$num));   //把内容写到图片中,可以有中文 



/** 
* 画线和点做干扰 
*/ 
for($i=0;$i<10;$i++) 

     $linecolor=p_w_picpathcolorallocate($p_w_picpath,rand(0,255),rand(0,255),rand(0,255)); 
     p_w_picpathline($p_w_picpath,rand(0,150),rand(0,50),rand(0,150),rand(0,50),$linecolor); 


  for($i=0;$i<200;$i++) 

     $pixelcolor=p_w_picpathcolorallocate($p_w_picpath,rand(0,255),rand(0,255),rand(0,255)); 
      p_w_picpathsetpixel($p_w_picpath,rand(0,150),rand(0,50),$pixelcolor); 



/** 
  * 输出图片 
  */ 
//echo dechex(rand(0,15)); 

header("ContentType:p_w_picpath/jpeg");   //设置此文件是以什么形势输出   这里是作为一张图片 

p_w_picpathjpeg($p_w_picpath);  //输出jpeg格式的图片 



?>

相关内容

热门资讯

五位民营企业家亮相国新办,两位... 【大河财立方 记者 程帅星 王宁宁 北京报道】 5月28日,国务院新闻办公室举行“新征程上的奋斗者”...
被司法部点赞的安阳涉企检查,是... 【大河财立方 记者 丁洋涛】涉企行政执法专项行动,旨在持续优化营商环境,纵深推进全国统一大市场建设。...
国防部:“新型军国主义”大有成... 5月28日下午,国防部举行例行记者会,国防部新闻发言人蒋斌大校答记者问。有记者提问,据报道,美日近期...
胡衡华辞去重庆市市长职务 5月28日,据“重庆人大”官网消息,重庆市人民代表大会常务委员会发布关于接受胡衡华辞职的决定:根据《...
汇聚政企民合力 共建有温度的许... 大河网讯 “遇到违法和不良信息,请拨打12377。”近期,不少途经许昌东站、胖东来各大门店的市民,都...
日本意图构建国家级情报统合体系... 澎湃新闻记者 杨文钦 朱郑勇5月28日,外交部发言人毛宁主持例行记者会。有记者提问,据报道,近日日本...
“中国登月计划正稳步推进”,美... 【文/观察者网 陈思佳】近年来,美国政客频频炒作美中“登月竞赛”,不仅寻求抢在中国之前完成本世纪首次...
新亚光取得导线防风偏装置专利,... 国家知识产权局信息显示,广东新亚光电缆股份有限公司取得一项名为“一种导线防风偏装置”的专利,授权公告...
每出口2辆车就有1辆新能源,巴... 4 月国内乘用车市场整体承压,汽车出口板块表现亮眼,当月出口总量达 94 万辆,同比增长 52%、环...
巴西总统热门候选人访美,获特朗... 据凤凰卫视报道,巴西总统选举热门参选人弗拉维奥·博索纳罗表示,他于5月27日与美国国务卿鲁比奥会面。