一款php生成验证码实现代码_PHP教程
生成验证码代码
一款php教程生成验证码实现代码,把自定义了session的目录,这样就不是php.ini里默认的session文件保存路径了,如下面
session_save_path,可重新定义目录。
*/
$sesssavepath = dirname(__file__)."/../data/sessions/";
if(is_writeable($sesssavepath) && is_readable($sesssavepath)){ session_save_path($sesssavepath); }
session_start();
$vstr = '';
for($i=0; $i if(function_exists("imagecreate")){
$ntime = time();
if(empty($_session['verifycode_last']) || empty($_session['verifycode']) || ($ntime - $_session['verifycode_last'] > 5)){
$_session['verifycode'] = strtolower($vstr);
$_session['verifycode_last'] = $ntime;
}
$vstr = $_session['verifycode'];
$vstrlen = strlen($vstr);
$img = imagecreate(50,20);
imagecolorallocate($img, 255,255,255);
$line1 = imagecolorallocate($img,240,220,180);
$line2 = imagecolorallocate($img,250,250,170);
for($j=3;$j imageline($img,2,$j,48,$j,$line1);
}
for($j=2;$j imageline($img,$j,2,$j-6,18,$line2);
}
$bordercolor = imagecolorallocate($img, 0x99,0x99,0x99);
imagerectangle($img, 0, 0, 49, 19, $bordercolor);
$fontcolor = imagecolorallocate($img, 48,61,50);
for($i=0;$i $bc = mt_rand(0,1);
$vstr[$i] = strtoupper($vstr[$i]);
imagestring($img, 5, $i*10+6, mt_rand(2,4), $vstr[$i], $fontcolor);
}header("pragma:no-cachern");
header("cache-control:no-cachern");
header("expires:0rn");if(function_exists("imagejpeg")){
header("content-type:image/jpegrn");
imagejpeg($img);
}else{
header("content-type:image/pngrn");
imagepng($img);
}
imagedestroy($img);
exit();
}
上一篇: thinkPHP如何优化代码
推荐阅读
-
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用,yii2gii_PHP教程
-
php生成指定频率和声音的音频文件(代码教程)
-
PHP读取网页文件内容的实现代码(fopen,curl等)_PHP教程
-
php实现视频拍照上传头像功能实例代码_PHP教程
-
如何用PHP生成随机验证码(附代码)
-
php 数组动态添加实现代码(最土团购系统的价格排序),数组团购_PHP教程
-
教你php如何实现验证码,php实现验证码_PHP教程
-
PHP跳转代码的实现方法讲解_PHP教程
-
thinkphp3.2点击刷新生成验证码,thinkphp3.2验证码_PHP教程
-
PHP 循环删除无限分类子节点的实现代码_PHP教程