新建一个 yzm.php  用于返回验证码图片  注意里面的字体文件路径  自己找一个字体文件放进去即可


<?php
session_start();
$_SESSION['yzm']="";
$font = 'font/consola.ttf';  //字体文件路径


	 function rand_str($length) {
        // 验证码中所需要的字符
        $chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
        $str = '';
        for($i = 0; $i < $length; $i++)
        {
            // 随机截取 $chars 中的任意一位字符;
            $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
        }
        return $str;
    }
    function rand_color($image){
        // 生成随机颜色
        return imagecolorallocate($image, rand(127, 255), rand(127, 255), rand(127, 255));
    }
    $image = imagecreate(200, 100);
    imagecolorallocate($image, 0, 0, 0);
    for ($i=0; $i <= 9; $i++) {
        // 绘制随机的干扰线条
        //imageline($image, rand(0, 200), rand(0, 100), rand(0, 200), rand(0, 100), rand_color($image));
    }
    for ($i=0; $i <= 100; $i++) {
        // 绘制随机的干扰点
        //imagesetpixel($image, rand(0, 200), rand(0, 100), rand_color($image));
    }
    $length = 4;//验证码长度
    $str = rand_str($length);//获取验证码
		$_SESSION['yzm']=$str;

    for ($i=0; $i < $length; $i++) {
        // 逐个绘制验证码中的字符
        imagettftext($image, rand(20, 38), rand(-60, 60), $i*50+25, rand(30,70), rand_color($image), $font, $str[$i]);
    }
    header('Content-type:image/jpeg');
    imagejpeg($image);
    imagedestroy($image);
?>

再需要显示验证码的地方 加上以下代码即可

<img onclick="this.src='yzm.php?'+Math.random()" style="width:100px;height:50px;cursor:pointer;" src="yzm.php?<?=time();?>">

再接收提交信息的页面  可以使用 if($_POST['yzm']!=$_SESSION['yzm']) 来判断验证码是否正确 

相关推荐

php三目运算例子

/*例子1*/ $a=8; $str= $a>10?"是的,a大于10":"不,a不大于10"; echo $str."<br>&q

php mysql创建库 创建用户 并授权用户可使用的库 - mysql权限管理例子

$dbname="ceshi1222_com"; $username="user222"; //创建库 $sql="CREATE DATABASE

vm虚拟机安装系统教程:win7 win10 win11的GhO镜像文件打包生成成可安装系统的ISO文件

php取随机汉字 代

function 取随机汉字($num=1000){ $b = ''; for ($i=0; $i<$num; $i++) { // 使用chr()函

php 原格式输出

<?php echo <<<EOF <h1>我的第一个标题</h1> <p>我的第一个段落。</p> EOF;

php 图像压缩 jpg png bmp

从百度复制了上百行代码 最后浓缩到20行~因为缩放尺寸后导致不清晰 所以去掉了 只转化格式<?php $path="1111.bmp"; $newpath="222

php实现 gz文件解压

<?php unzip_gz("111.gz","111.txt"); function unzip_gz($gz_file,$out_file_n

php 正则表达式 匹配正文中的第一张图片

以下代码是 从正文中提取第一张图片作做略图用 如果没有匹配到 则取随机图片$pattern="/<img.*?src=['\\"](.*?)['\\"

php计算数组重复次数最多的

直接ctrl+V 慢慢试去吧~<?php function mostRepeatedValues($array,$length=0){ //1. 计算数组的重复值 $array =

添加右键 新建php文件的右键菜单

新建一个记事本文件,改名为 .reg后缀写入Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\\.php] @="php.Doc