亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

黑色背景中間白框,沒有顯示驗證碼,弄了一天了,求解救

<?php
/**
?*?Created?by?PhpStorm.
?*?User:?a117
?*?Date:?2018/10/14
?*?Time:?5:45?PM
?*/

require_once?'string.func.php';

//創建畫布,GD庫做驗證碼
$width=80;
$height=30;
$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("Avenir.ttc","Helvetica.ttc","Kohinoor.ttc");

//產生驗證碼
for?($i=9;$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);
}

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

下面是string.func.php的

<?php
/**
?*?Created?by?PhpStorm.
?*?User:?a117
?*?Date:?2018/10/14
?*?Time:?5:46?PM
?*/
function?buildRandomString($type=1,$length=4)
{
????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("字符串長度不夠");
????}

????$chars?=?str_shuffle($chars);
//截取驗證碼長度
????return?substr($chars,?0,?$length);

}


GD庫應該開了

https://img1.sycdn.imooc.com//5bc42b3b00018f5c20700770.jpg

正在回答

6 回答

我也出現了這種情況,如果你的代碼跟老師的一模一樣且運行結果沒有出現驗證碼,試著切換到5.*版本運行

1 回復 有任何疑惑可以回復我~

黑背景可能是瀏覽器的原因,好象沒關系的,不妨礙以后代碼的使用。您使用360??

0 回復 有任何疑惑可以回復我~
#1

qq_AgentSH_fxLP45

但是換了谷歌也是黑背景沒有文字…
2019-07-15 回復 有任何疑惑可以回復我~
1、$fontfile=array("Avenir.ttc","Helvetica.ttc","Kohinoor.ttc");這里的變量名$fontfile改為
$fontfiles,即$fontfiles=array("Avenir.ttc","Helvetica.ttc","Kohinoor.ttc");
2、?$fontfile="../fonts/".$fontfile[mt_rand(0,count($fontfile)-1)];改為
$fontfile="../fonts/".$fontfiles[mt_rand(0,count($fontfiles)-1)];
試試看,應該可以了


0 回復 有任何疑惑可以回復我~
1、$fontfile=array("Avenir.ttc","Helvetica.ttc","Kohinoor.ttc");這里的變量名$fontfile改為$fontfiles,即$fontfiles=array("Avenir.ttc","Helvetica.ttc","Kohinoor.ttc");
2、?$fontfile="../fonts/".$fontfile[mt_rand(0,count($fontfile)-1)];改為$fontfile="../fonts/".$fontfiles[mt_rand(0,count($fontfiles)-1)];
試試看,應該可以了


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

我也是

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

舉報

0/150
提交
取消
手把手教你實現電商網站后臺開發
  • 參與學習       117255    人
  • 解答問題       2101    個

手把手教你用PHP搭建電子商務平臺,由淺入深教你搭建電商系統

進入課程

黑色背景中間白框,沒有顯示驗證碼,弄了一天了,求解救

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號