課程
/后端開(kāi)發(fā)
/PHP
/手把手教你實(shí)現(xiàn)電商網(wǎng)站后臺(tái)開(kāi)發(fā)
為什么運(yùn)行源代碼,驗(yàn)證碼那塊顯示空白
2016-11-14
源自:手把手教你實(shí)現(xiàn)電商網(wǎng)站后臺(tái)開(kāi)發(fā) 2-1
正在回答
include.php中和image.func.pgp中的session開(kāi)啟一個(gè)就可以了,都開(kāi)啟就出不來(lái)驗(yàn)證碼
qq_叛屰HR_0
終于知道貼代碼方法了。以下代碼運(yùn)行在 php?7.0.8 上通過(guò)。
include.php
<?php header("content-type:text/html;charset=utf-8"); date_default_timezone_set("PRC"); //session_start(); define("ROOT",?dirname(__FILE__)); set_include_path(PATH_SEPARATOR.ROOT."/lib".PATH_SEPARATOR.ROOT."/core".PATH_SEPARATOR.ROOT."/configs".PATH_SEPARATOR.get_include_path()); //require_once?'mysql.func.php'; require_once?'string.func.php'; require_once?'image.func.php'; /*require_once?'common.func.php'; require_once?'page.func.php'; require_once?'configs.php'; require_once?'admin.inc.php'; require_once?'cate.inc.php'; require_once?'pro.inc.php';*/ //?require_once?'album.inc.php'; //?require_once?'upload.func.php'; //?require_once?'user.inc.php'; //?connect(); ?//?連接數(shù)據(jù)庫(kù) ?//$link?=?connet();
string.func.php:
<?php? //?產(chǎn)生隨機(jī)數(shù) function?buidRandomString($type=1,?$length?=?4){ //?根據(jù)參數(shù)類(lèi)型,產(chǎn)生數(shù)字、數(shù)字小寫(xiě)字母、數(shù)字小寫(xiě)字母大寫(xiě)字母等字符 if?($type?==?1)?{ $chars?=?join("",?range(0,?9)); }elseif?($type?==?2)?{ $chars?=?join("",?array_merge(range("a","z"),?range("A",?"Z"))); }elseif?($type?==?3)?{ $chars?=?join("",?array_merge(range("a","z"),?range("A",?"Z"),?range(0,?9))); } if?($length?>?strlen($chars))?{ exit("字符串長(zhǎng)度不夠"); } //?隨機(jī)地打亂字符串中的所有字符 $chars?=?str_shuffle($chars); //?截取制定長(zhǎng)度字符 return?substr($chars,?0,?$length); }
image.func.php :
<?php ? require_once?'../include.php'; /** ?*??通過(guò)GD庫(kù)創(chuàng)建驗(yàn)證碼 ?*??$width:?驗(yàn)證碼圖片寬度 ?*??$height:?驗(yàn)證碼圖片高度 ?*??$type: 產(chǎn)生字符類(lèi)型,1為數(shù)字,2為數(shù)字和小寫(xiě)字母,3為數(shù)字小寫(xiě)字母加大寫(xiě)字母 ?*??$length:?驗(yàn)證碼字符個(gè)數(shù) ?*??$pixel:?干擾點(diǎn)數(shù)量 ?*??$line:?干擾線數(shù)量 ?*??$sess_name:?session?key ?*/ function?verifyImage($type?=?1,?$length?=?4,?$pixel?=?0,?$line?=?0,?$width?=?80,?$height?=?20,?$sess_name?=?"verify"){ //使能session session_start(); //?創(chuàng)建畫(huà)布 //?創(chuàng)建真色彩畫(huà)布 $image?=?imagecreatetruecolor($width,?$height); //?畫(huà)筆顏色 $white?=?imagecolorallocate($image,?255,?255,?255); $black?=?imagecolorallocate($image,?0,?0,?0); //用填充矩形填充畫(huà)布 imagefilledrectangle($image,?1,?1,?$width-2,?$height-2,?$white); //?產(chǎn)生隨機(jī)字符串 $chars?=?buidRandomString($type,?$length); //?echo?$chars."<br>"; //存儲(chǔ)到session $_SESSION[$sess_name]?=?$chars; //?字體數(shù)組 $fontfiles?=?array("hye3gjm.TTF","hyh4gjm.TTF","hyk1gjm.TTF","STKAITI.TTF","STLITI.TTF","STXIHEI.TTF","STXINGKA.TTF","STZHONGS.TTF"); //?隨機(jī)獲取數(shù)組中任意一個(gè)值 $fontfile?=?"../fonts/".$fontfiles[mt_rand(0,?count($fontfiles)-1)]; /*?將TTF?(TrueType?Fonts)?字型文字寫(xiě)入圖片*/ for?($i=0;?$i?<?$length;?$i++)?{ //產(chǎn)生14?~?18的隨機(jī)數(shù)用于字體大小 $size?=?mt_rand(14,?18); //產(chǎn)生隨機(jī)數(shù)用于字符角度 $angle?=?mt_rand(-15,?15); //產(chǎn)生字符位置坐標(biāo) $x?=?5?+?$i?*?$size; $y?=?mt_rand(15,?20); //?產(chǎn)生隨機(jī)畫(huà)筆顏色,用于設(shè)置字體顏色 $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); } //?繪制點(diǎn)、線等干擾元素 if?($pixel)?{ for?($i=0;?$i?<?$pixel;?$i++)?{ imagesetpixel($image,?mt_rand(0,?$width-1),?mt_rand(0,?$height-1),?$black); } } if?($line)?{ for?($i=0;?$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); } ????????verifyImage(2,?4,?10,?3);
憂郁的蛋撻
熊貓的家園 提問(wèn)者
熊貓的家園 提問(wèn)者 回復(fù) 憂郁的蛋撻
憂郁的蛋撻 回復(fù) 熊貓的家園 提問(wèn)者
98開(kāi)水1 回復(fù) 憂郁的蛋撻
憂郁的蛋撻 回復(fù) 98開(kāi)水1
我的代碼給你試試。? ??
php 和mysql 升級(jí)了版本之后 API大部分都變了,當(dāng)然不能直接運(yùn)行。
舉報(bào)
手把手教你用PHP搭建電子商務(wù)平臺(tái),由淺入深教你搭建電商系統(tǒng)
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢(xún)優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-03-07
include.php中和image.func.pgp中的session開(kāi)啟一個(gè)就可以了,都開(kāi)啟就出不來(lái)驗(yàn)證碼
2016-11-15
終于知道貼代碼方法了。以下代碼運(yùn)行在 php?7.0.8 上通過(guò)。
include.php
string.func.php:
image.func.php :
2016-11-15
我的代碼給你試試。? ??
2016-11-15
php 和mysql 升級(jí)了版本之后 API大部分都變了,當(dāng)然不能直接運(yùn)行。