当前位置: 首页 > 图文教程 > 网络编程 > PHP > php 数学运算验证码实现代码

PHP
php SQL之where语句生成器
php 随机生成10位字符代码
PHP获取类中常量,属性,及方法列表的方法
php 动态执行带有参数的类方法
php pcntl_fork和pcntl_fork 的用法
PHP Document 代码注释规范
php error_log 函数的使用
PHP 加密与解密的斗争
对squid中refresh_pattern的一些理解和建议
一个php导出oracle库的php代码
PHP 中执行排序与 MySQL 中排序
php 保留小数点
将数组写入txt文件 var_export
php反弹shell实现代码
PHP 危险函数解释 分析
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
Uchome1.2 1.5 代码学习 common.php
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
php mssql 分页SQL语句优化 持续影响
PHP mb_convert_encoding 获取字符串编码类型实现代码

PHP 中的 php 数学运算验证码实现代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 193 ::
收藏到网摘: n/a

php 数学运算验证码实现代码
复制代码 代码如下:

<?php
//-------------------------------------
// 文件说明:数学运算验证码
// 文件作者:Jesse Lee
// 最后更新:2008-09-07
//-------------------------------------
session_start();
$sessionvar = 'vdcode'; //Session变量名称
$width = 150; //图像宽度
$height = 20; //图像高度
$operator = '+-*'; //运算符
$code = array();
$code[] = mt_rand(1,9);
$code[] = $operator{mt_rand(0,2)};
$code[] = mt_rand(1,9);
$code[] = $operator{mt_rand(0,2)};
$code[] = mt_rand(1,9);
$codestr = implode('',$code);
eval("\$result = ".implode('',$code).";");
$code[] = '=';
$_SESSION[$sessionvar] = $result;
$img = ImageCreate($width,$height);
ImageColorAllocate($img, mt_rand(230,250), mt_rand(230,250), mt_rand(230,250));
$color = ImageColorAllocate($img, 0, 0, 0);
$offset = 0;
foreach ($code as $char) {
$offset += 20;
$txtcolor = ImageColorAllocate($img, mt_rand(0,255), mt_rand(0,150), mt_rand(0,255));
ImageChar($img, mt_rand(3,5), $offset, mt_rand(1,5), $char, $txtcolor);
}
for ($i=0; $i<100; $i++) {
$pxcolor = ImageColorAllocate($img, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255));
ImageSetPixel($img, mt_rand(0,$width), mt_rand(0,$height), $pxcolor);
}
header('Content-type: image/png');
ImagePng($img);
?>