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

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

做的驗證碼可以顯示干擾線和點但是數字顯示不出來,望大神幫忙看一下,謝謝

<?php
require_once?'string.func.php';
function?verifyImage($type=1,$length=4,$pixel=40,$line=20,$sess_name?=?"verify"){
$sess_name?=?"verify";
session_start();
$width?=?200;
$height?=?100;
$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);
$chars?=getString?(?$type,?$length?);
$_SESSION?[$sess_name]?=?$chars;
$fontfiles?=??array("consola.ttf","consolaz.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?=?"../font/"?.?$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?);
	}
if?($pixel)?{
????for($i?=?0;?$i?<?50;?$i?++)?{
????????imagesetpixel?(?$image,?mt_rand?(?0,?$width?-?1?),?mt_rand?(?0,?$height?-?1?),?$black?);
????}
}
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?),?mt_rand?(?0,?$width?-?1?),?mt_rand?(?0,?$height?-?1?),?$color?);
????}
}
ob_clean();
header?(?"content-type:image/gif"?);
imagegif($image);
imagedestroy?(?$image?);
}
ob_clean();
verifyImage(3,4,20,11);

字體在font文件中

<?php?
function?getString($type?=?3,$length?=?4){
????if($type?==?1){
????????$chars?=?join("?",range("A",?"Z"));
????}elseif($type?==?2){
????????$chars?=?join("?",range(0,9));
????}elseif($type?==?3){
????????$chars?=?join("?",array_merge(range(0,9),range("A",?"Z"),range("a",?"z")));
????}
???if?($length?>?strlen?(?$chars?))?{
		exit?(?"字符串長度不夠"?);
	}
	$chars?=?str_shuffle?(?$chars?);
	return?substr?(?$chars,?0,?$length?);
}
function?getUniName(){
????return?md5(uniqid(microtime(true),true));
}
function?getExt($filename){
????return?strtolower(end(explode(".",$filename)));
}


正在回答

2 回答

$sess_name?=?"verify";你在第三行已經變成可選參數賦值,為什么還要在第四行賦值?

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

半城瘋沙 提問者

你好,剛把第4行去掉了,但還是有時候只有2,3個字母數字,不能全部顯示,能否幫我再看一下呢,謝謝O(∩_∩)O
2017-01-05 回復 有任何疑惑可以回復我~
#2

半城瘋沙 提問者

輪叔,找到問題了,string.func,php里join里,引號里面不能有空格,還是謝謝啦,昨天看的都要吐血了
2017-01-05 回復 有任何疑惑可以回復我~

http://img1.sycdn.imooc.com//586c9eff000189a800930066.jpg

驗證碼不能顯示完全,想問一下,如何讓4個字母全部顯示

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

舉報

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

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

進入課程

做的驗證碼可以顯示干擾線和點但是數字顯示不出來,望大神幫忙看一下,謝謝

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

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

幫助反饋 APP下載

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

公眾號

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