为了账号安全,请及时绑定邮箱和手机立即绑定

<?php require_once 'string.func.php'; //通过GD库做验证码 function verifyImage($type=1,$length=4,$pixel=0,$line=0,$sess_name = "verify"){ session_start(); //创建画布 $width = 80; $height = 28; $image = imagecreatetruecolor ( $width, $height ); $white = imageco

老师:这代码在我电脑上打不出验证码,不知是原因在那里,我是个新,不懂语言。

<?php 

require_once 'string.func.php';

//通过GD库做验证码

function verifyImage($type=1,$length=4,$pixel=0,$line=0,$sess_name = "verify"){

session_start();

//创建画布

$width = 80;

$height = 28;

$image = imagecreatetruecolor ( $width, $height );

$white = imagecolorallocate ( $image, 255, 255, 255 );

$black = imagecolorallocate ( $image, 0, 0, 0 );

//用填充矩形填充画布

imagefilledrectangle ( $image, 1, 1, $width - 2, $height - 2, $white );

$chars = buildRandomString ( $type, $length );

$_SESSION [$sess_name] = $chars;

//$fontfiles = array ("MSYH.TTF", "MSYHBD.TTF", "SIMLI.TTF", "SIMSUN.TTC", "SIMYOU.TTF", "STZHONGS.TTF" );

$fontfiles = array ("SIMYOU.TTF" );

//由于字体文件比较大,就只保留一个字体,如果有需要的同学可以自己添加字体,字体在你的电脑中的fonts文件夹里有,直接运行输入fonts就能看到相应字体

for($i = 0; $i < $length; $i ++) {

$size = mt_rand ( 14, 18 );

$angle = mt_rand ( - 15, 15 );

$x = 5 + $i * $size;

$y = mt_rand ( 20, 26 );

$fontfile = "../fonts/" . $fontfiles [mt_rand ( 0, count ( $fontfiles ) - 1 )];

$color = imagecolorallocate ( $image, mt_rand ( 50, 90 ), mt_rand ( 80, 200 ), mt_rand ( 90, 180 ) );

$text = substr ( $chars, $i, 1 );

imagettftext ( $image, $size, $angle, $x, $y, $color, $fontfile, $text );

}

if ($pixel) {

for($i = 0; $i < 50; $i ++) {

imagesetpixel ( $image, mt_rand ( 0, $width - 1 ), mt_rand ( 0, $height - 1 ), $black );

}

}

if ($line) {

for($i = 1; $i < $line; $i ++) {

$color = imagecolorallocate ( $image, mt_rand ( 50, 90 ), mt_rand ( 80, 200 ), mt_rand ( 90, 180 ) );

imageline ( $image, mt_rand ( 0, $width - 1 ), mt_rand ( 0, $height - 1 ), mt_rand ( 0, $width - 1 ), mt_rand ( 0, $height - 1 ), $color );

}

}

header ( "content-type:image/gif" );

imagegif ( $image );

imagedestroy ( $image );

}


这代码能在我电脑上打出验证码,登陆不了,显示验证码错。

<?php

require_once 'string.func.php';

//通过GD库做验证码

function verifyImage($type=1,$length=4,$pixel=0,$line=0,$sess_name = "verify"){

 session_start();

//创建画布

$width=80;

$height=28;

$image=imagecreatetruecolor($width,$height);

$white=imagecolorallocate($image,255,255,255);

$black=imagecolorallocate($image,0,0,0);

// 用填充矩形填充画布

imagefilledrectangle($image,1,1,$width-2,$height-2,$white);


$chars=buildRandomString($type,$length);

$sess_name="varify";

$_SESSION[$sess_name]=$chars;

$fontfiles=array("MSYH.TTF","MSYHBD.TTF","SIMHEI.TTF","SIMKAI.TTF","SIMSUN.TTC"); 

for($i=0;$i<$length;$i++) {

    $size=mt_rand(14,18);

    $angle=mt_rand(-15,15);

    $x=5+$i*$size;

    $y=mt_rand(20,26);

    $fontfile="../fonts/".$fontfiles[mt_rand(0,count($fontfiles)-1)];

    $text=substr($chars,$i,1);

    $color=imagecolorallocate($image,mt_rand(50,90),mt_rand(80,200),mt_rand(90,180));

    imagettftext($image,$size,$angle,$x,$y,$color,$fontfile,$text);


}

if ($pixel) {

for($i = 0; $i < 50; $i ++) {

imagesetpixel ( $image, mt_rand ( 0, $width - 1 ), mt_rand ( 0, $height - 1 ), $black );

}

}

if ($line) {

for($i = 1; $i < $line; $i ++) {

$color = imagecolorallocate ( $image, mt_rand ( 50, 90 ), mt_rand ( 80, 200 ), mt_rand ( 90, 180 ) );

imageline ( $image, mt_rand ( 0, $width - 1 ), mt_rand ( 0, $height - 1 ), mt_rand ( 0, $width - 1 ), mt_rand ( 0, $height - 1 ), $color );

}

}

header ( "content-type:image/gif" );

imagegif ( $image );

imagedestroy ( $image );

}


正在回答

5 回答

你需要把你用到的字体库文件放进来才行,我只传了一个字体文件

^-^...

0 回复 有任何疑惑可以回复我~

这段代码敲上去打得出验证码

<?php

require_once 'string.func.php';

//通过GD库做验证码

//创建画布

$width=80;

$height=28;

$image=imagecreatetruecolor($width,$height);

$white=imagecolorallocate($image,255,255,255);

$black=imagecolorallocate($image,0,0,0);

// 用填充矩形填充画布

imagefilledrectangle($image,1,1,$width-2,$height-2,$white);

$type=1;

$length=4;

$chars=buildRandomString($type,$length);

$sess_name="varify";

$_SESSION[$sess_name]=$chars;

$fontfiles=array("MSYH.TTF","MSYHBD.TTF","SIMHEI.TTF","SIMKAI.TTF","SIMSUN.TTC");

 

for($i=0;$i<$length;$i++) {

    $size=mt_rand(14,18);

    $angle=mt_rand(-15,15);

    $x=5+$i*$size;

    $y=mt_rand(20,26);

    $fontfile="../fonts/".$fontfiles[mt_rand(0,count($fontfiles)-1)];

    $text=substr($chars,$i,1);

    $color=imagecolorallocate($image,mt_rand(50,90),mt_rand(80,200),mt_rand(90,180));

    imagettftext($image,$size,$angle,$x,$y,$color,$fontfile,$text);

}

header("content-type:image/gif");

imagegif($image);

imagedestroy($image);


0 回复 有任何疑惑可以回复我~

老师:请老师指点,我是个初学者。

0 回复 有任何疑惑可以回复我~

本地和远程都用了54bb7a4900011d5705000217.jpg

54bb7a4a0001570605000302.jpg


0 回复 有任何疑惑可以回复我~

54bb79170001cd7105000228.jpg

54bb79180001659f05000140.jpg

54bb79180001ada405000327.jpg

54bb79190001a56001260112.jpg全都放上去了

54bb79190001b02d05000189.jpg


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
手把手教你实现电商网站后台开发
  • 参与学习       117283    人
  • 解答问题       1999    个

手把手教你用PHP搭建电子商务平台,由浅入深教你搭建电商系统

进入课程

<?php require_once 'string.func.php'; //通过GD库做验证码 function verifyImage($type=1,$length=4,$pixel=0,$line=0,$sess_name = "verify"){ session_start(); //创建画布 $width = 80; $height = 28; $image = imagecreatetruecolor ( $width, $height ); $white = imageco

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信