在沒封裝之前,想看看效果,運行怎么出錯????
<?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 = "verify";
$_SESSION[$sess_name] = $chars;
$fontfile = array("msyh.ttf","msyhbd.ttf","simkai.ttf","simsun.ttc","SIMYOU.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 = "../fonts/".$fontfile[mt_rand(0, count($fontfile)-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 );
}
for($i=0;$i<50;$i++){
? ? imagesetpixel($image, mt_rand(0, $width-1), mt_rand(0, $height-1), $black);
}
header("content-type:image/gif");
imagegif($image);
imagedestroy($image);
以上是代碼,運行的時候出現(如圖):
2017-01-16
前三個報錯是PHP在你電腦中找不到你設置的那個字體;
第四個報錯是因為你多次引用header,header最好用在? <?php 和 require_once 'string.func.php';?? 之間,,而且一般不建議用 require_once?? 效率低。
還有一個問題是亂碼,這有一個亂碼的解決方法 完美解決PHP中文亂碼,你看下,希望對你有幫助。
2017-01-16
這個是配置問題 ,已經解決!就是把php的配置文件中的php.ini中的error_reporting=什么什么改為error_reporting=E_ALL&~E_NOTICE&~E_DEPRECATED,重啟服務就可以了……
2017-01-15
沒有字體文件