php验证码代码大全(后台人员必须要会的PHP中文验证码制作技术)
php验证码代码大全(后台人员必须要会的PHP中文验证码制作技术)前端与后端的区别?前台是指的用户去访问的界面,项目为用户访问所写的那些代码;后台是用于管理员管理的那部分代码。从区分用户的角度出发。4.输出或者保存5.销毁画布资源前台与后台的区别?
中文验证码制作1.准备画布
2.准备中文
3.把中文写入到画布
imagettftext:需要一个字体作为参数
4.输出或者保存
5.销毁画布资源
前台与后台的区别?
前台是指的用户去访问的界面,项目为用户访问所写的那些代码;后台是用于管理员管理的那部分代码。从区分用户的角度出发。
前端与后端的区别?
前端指的是那些html css js,后端指的是服务器端的脚本,如PHP等,从工作内容的角度出发。
美工和程序员的区别?美工做前端,程序员做后端
前台和后台都需要美工和程序员。
代码见demo01_chinisecaptcha.php
<?php
//header('Content-type:text/html;charset=utf-8');
//中文验证码
//准备好需要制作验证码的中文字符(多放字符,这里我只放了几个)
$str="的一是在了不和有大这主中人上为们地个用工时要动国产以";
//准备画布
$im = imagecreatetruecolor(400 200);
//给画布上色
$bg = imagecolorallocate($im mt_rand(200 255) mt_rand(200 255) mt_rand(200 255));
imagefill($im 0 0 $bg);
//获得要写入的字符串(中文)
//你好世界
//0 1 2 3 4 5 6 7 8 9 10 11
//1. 获取字符串长度
$len = strlen($str);
//声明$last
//$last = '';
for($i = 0 ;$i < 4;$i ){
//2. 获得随机的字节的位置
$rand = mt_rand(0 $len - 1);
//3. 判断得到的字节的位置
if($rand%3 == 0){
//所在位置为汉字的起始位置
$last = substr($str $rand 3); //====== $last = $last . substr($str $rand 3)
}elseif($rand%3 == 1){
//所在位置的前一位是汉字的起始位置
$last = substr($str $rand - 1 3);
}elseif($rand%3 == 2){
//所在位置的前两位是汉字的起始位置
$last = substr($str $rand - 2 3);
}
//echo $last;
//把文字写入到画布上
//文字上色
$text_color = imagecolorallocate($im mt_rand(50 150) mt_rand(50 150) mt_rand(50 150));
//得到每个汉字的一个随机位置,横坐标上是顺移,纵坐标随机
switch($i){
case 0:
$width = 50;
break;
case 1:
$width = 150;
break;
case 2:
$width = 250;
break;
case 3:
$width = 350;
break;
}
//imagestring
//imagestring($im 5 200 100 $last $text_color);
//注意:imagettftext只能写utf-8格式的中文,如果当前文件的字符集不是utf-8,需要使用iconv函数先将字符转成utf-8格式再写
imagettftext($im 30 mt_rand(0 360) $width mt_rand(50 150) $text_color 'STHUPO.TTF' $last);
}
//输出图片
header('Content-type:image/png');
imagepng($im);
//销毁图片资源
imagedestroy($im);