首页 > 代码库 > PHP生成图片
PHP生成图片
代码如下
<?php
session_start();
$arr = array(
‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘,‘g‘,‘h‘,‘i‘,‘j‘,‘k‘,‘l‘,‘m‘,‘n‘,‘o‘,‘p‘,‘q‘,‘r‘,‘s‘,‘t‘,‘u‘,‘v‘,‘w‘,‘x‘,
‘y‘,‘z‘,‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘
);
$rand = "";
for($i=1;$i<=4; $i++){
$rand .= $arr[rand(0,count($arr)-1)];
}
$_SESSION[‘check_pic‘] = $rand;
//生成图片
$im = imagecreatetruecolor(100,30);
//生成颜色,当第一次调用生成颜色的方法,是生成背景颜色
$bg = imagecolorallocate($im,0,0,0);
//第二次调用这个方法,是可以生成图片上面的文字或其他样式的颜色
$te = imagecolorallocate($im,255,255,255);
//在图片上面生成文字
imagestring($im,rand(1,5),rand(3,70),rand(3,15),$rand,$te);
//要把php当成图片输出,必须给文件一个头申明
ob_clean();
header("Content-type:image/jpeg");
//最终生成图片
imagejpeg($im);
?>
然后连接数据库 验证
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
</head>
<body>
<?php
session_start();
if(isset($_POST[‘check‘])){
if($_POST[‘check‘] == $_SESSION[‘check_pic‘]){
echo "验证成功";
}else{
echo "验证失败";
}
}
?>
<form action="check2.php" method="post">
<input type="text" name="check"/>
<img src="http://www.mamicode.com/check1.php" onclick="refreshImg()" id="chk" style="cursor: pointer"/>
<br/>
<input type="submit" value="http://www.mamicode.com/提交"/>
</form>
<script>
function refreshImg(){
var rand = Math.round(Math.random()*10000);
var chk = document.getElementById("chk");
chk.src = "http://www.mamicode.com/check1.php?num="+rand;
}
</script>
</body>
</html>