老師幫我看看。為什么我就是有錯誤。。氣哭了。
<?php
require_once 'string.func.php';
//通過GD庫做驗證碼
//創建畫布
$width=80;
$height=20;
$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="verify";
$_SESSION[$sess_name]=$chars;
$fontfiles=array("FZCCHFW.TTF","FZCCHJW.TTF","MSYH.TTF","SIMKAI.TTF","MSYHBD.TTF");
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="C:/Windows/Fonts/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);
}
$pixel=50;
if($pixel){
for($i=0;$i<50;$i++){
? ? imagesetpixel($image, mt_rand(0, $width-1), mt_rand(0, $height-1), $black);
? }
}
$line=10;
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), $color);
? ? }
}
header("content-type:image/gif");
imagegif($image);
imagedestroy($image);
2015-09-10
同學你的imageline的參數是6個 你只給了4個 還查兩g個參數 $x2 $y2
2015-08-24
你的這段代碼是有問題的,應該是標點或者是代碼有錯的地方,把這部分代碼去掉是可以正常顯示驗證碼的!
$pixel=50;
if($pixel){
for($i=0;$i<50;$i++){
? ? imagesetpixel($image, mt_rand(0, $width-1), mt_rand(0, $height-1), $black);
? }
}
$line=10;
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), $color);
? ? }
}