码迷,mamicode.com
首页 > Web开发 > 详细

php 图片验证码

时间:2015-10-19 22:29:34      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:

1.原理

数组中每个图片对应一个值->随机值->获取并保存到$_SESSION中,->获取随机值对应的图片,->通过__FILE__输出图片,->浏览器验证

2.代码

captcha.php

<?php
session_start();
//图片对应
$picArray = array(
    ‘pic00‘=>‘狗‘,
    ‘pic01‘=>‘猫‘,
    ‘pic02‘=>‘鱼‘,
    ‘pic03‘=>‘鸟‘
);
//随机取值
$index = mt_rand(0,3);
$value = $picArray[‘pic0‘.$index];
$_SESSION[‘authcode‘] = $value;

$filename = dirname(__FILE__).‘./img/pic0‘.$index.‘.jpg‘;
//echo $filename;
$content = file_get_contents($filename);
header(‘Content-type: image/jpg‘);
echo $content;

form.php

<?php
if (isset($_REQUEST[‘authcode‘])) {
    session_start();
    //判断
    if (strtolower($_REQUEST[‘authcode‘] == strtolower($_SESSION[‘authcode‘]))) {
        echo ‘恭喜你输入正确!‘;
    } else {
        echo ‘输入失败!‘;
    }
    exit();
}
?>
<html>
<head>
    <title>验证码提交</title>
</head>
<body>
<form action="form.php" method="post">
    <p>验证码:<img src="captcha.php?r=<?php echo mt_rand() ?>" id="captcha_img" alt="验证码" width="200" height="200" border="1px"></p>
    <a href="javascript:void(0)" onclick="document.getElementById(‘captcha_img‘).src=‘./captcha.php?r=‘+Math.random()">看不清?</a>
    <p>
        <label for="authcode">请输入图片中的内容: </label>
        <input type="text" name="authcode" id="authcode"/>
    </p>

    <p><input type="submit" value="submit"/></p>
</form>
</body>
</html>

 

php 图片验证码

标签:

原文地址:http://www.cnblogs.com/tumio/p/4893220.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!