国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php驗證碼圖片無法顯示解決方法

php中文網(wǎng)
發(fā)布: 2016-06-13 12:20:02
原創(chuàng)
1289人瀏覽過

php驗證碼圖片無法顯示
ValidateCode.class.php代碼如下
//驗證碼類
class?ValidateCode?{
?private?$charset?=?'abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789';//隨機因子
?private?$code;//驗證碼
?private?$codelen?=?4;//驗證碼長度
?private?$width?=?130;//寬度
?private?$height?=?50;//高度
?private?$img;//圖形資源句柄
?private?$font;//指定的字體
?private?$fontsize?=?20;//指定字體大小
?private?$fontcolor;//指定字體顏色
?//構(gòu)造方法初始化
?public?function?__construct()?{
??$this->font?=?dirname(__FILE__).'/font/elephant.ttf';//注意字體路徑要寫對,否則顯示不了圖片
?}
?//生成隨機碼
?private?function?createCode()?{
??$_len?=?strlen($this->charset)-1;
??for?($i=0;$icodelen;$i++)?{
???$this->code?.=?$this->charset[mt_rand(0,$_len)];
??}
?}
?//生成背景
?private?function?createBg()?{
??$this->img?=?imagecreatetruecolor($this->width,?$this->height);
??$color?=?imagecolorallocate($this->img,?mt_rand(157,255),?mt_rand(157,255),?mt_rand(157,255));
??imagefilledrectangle($this->img,0,$this->height,$this->width,0,$color);
?}
?//生成文字
?private?function?createFont()?{
??$_x?=?$this->width?/?$this->codelen;
??for?($i=0;$icodelen;$i++)?{
???$this->fontcolor?=?imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));
???imagettftext($this->img,$this->fontsize,mt_rand(-30,30),$_x*$i+mt_rand(1,5),$this->height?/?1.4,$this->fontcolor,$this->font,$this->code[$i]);
??}
?}
?//生成線條、雪花
?private?function?createLine()?{
??//線條
??for?($i=0;$i???$color?=?imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));
???imageline($this->img,mt_rand(0,$this->width),mt_rand(0,$this->height),mt_rand(0,$this->width),mt_rand(0,$this->height),$color);
??}
??//雪花
??for?($i=0;$i???$color?=?imagecolorallocate($this->img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
???imagestring($this->img,mt_rand(1,5),mt_rand(0,$this->width),mt_rand(0,$this->height),'*',$color);
??}
?}
?//輸出
?private?function?outPut()?{
??header('Content-type:image/png');
??imagepng($this->img);
??imagedestroy($this->img);
?}
?//對外生成
?public?function?doimg()?{
??$this->createBg();
??$this->createCode();
??$this->createLine();
??$this->createFont();
??$this->outPut();
?}
?//獲取驗證碼
?public?function?getCode()?{
??return?strtolower($this->code);
?}
}




captcha.php代碼如下
session_start();
require?'./ValidateCode.class.php';??//先把類包含進來,實際路徑根據(jù)實際情況進行修改。
$_vc?=?new?ValidateCode();??//實例化一個對象
$_vc->doimg();??
$_SESSION['authnum_session']?=?$_vc->getCode();//驗證碼保存到SESSION中




index.php代碼如下
session_start();
//在頁首先要開啟session,
//error_reporting(2047);
session_destroy();
//將session去掉,以每次都能取新的session值;
//用seesion?效果不錯,也很方便
?>


session?圖片驗證實例





此例為session驗證實例



驗證碼:

php驗證碼圖片無法顯示解決方法






//打印上一個session;
echo?"上一個session:".$_SESSION["authnum_session"]."
";
$validate="";
if(isset($_POST["validate"])){
$validate=$_POST["validate"];
echo?"您剛才輸入的是:".$_POST["validate"]."
狀態(tài):";
if($validate!=$_SESSION["authnum_session"]){
//判斷session值與用戶輸入的驗證碼是否一致;
echo?"輸入有誤";
}else{
echo?"通過驗證";
}
}
?>
新手求大神解答
------解決思路----------------------
單獨運行?captcha.php?看看

1、確保?captcha.php?無?BOM?頭
2、確認字體文件真實存在
------解決思路----------------------
我前2天剛好也看到過這個code代碼,調(diào)試過。。應(yīng)該是字體路徑問題
'/font/elephant.ttf
PHP速學(xué)教程(入門到精通)
PHP速學(xué)教程(入門到精通)

PHP怎么學(xué)習(xí)?PHP怎么入門?PHP在哪學(xué)?PHP怎么學(xué)才快?不用擔(dān)心,這里為大家提供了PHP速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!

下載
來源:php中文網(wǎng)
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn
最新問題
開源免費商場系統(tǒng)廣告
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號 技術(shù)交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://www.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號