为了账号安全,请及时绑定邮箱和手机立即绑定

求解手把手叫你做电商网站后台疑难

求解手把手叫你做电商网站后台疑难

PHP
LMY默言 2016-01-13 21:47:22
string.func.php文件代码<?phpfunction 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);}?>image.func.php文件代码<?phpob_start();require_once 'string.func.php';function verifyImage($type=1,$length=4,$pixel=0,$line=0,$sess_name = "verify"){ session_start(); $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); $chars=buildRandomString($type,$length); $_SESSION [$sess_name] = $chars; $fontfiles = array ("SIMYOU.TTF","FZSTK.TTF","SIMLI.TTF","STCAIYUN.TTF","STLITI.TTF","STXINGKA.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/".$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,$angel,$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/png"); imagepng($image); imagedestroy($image);}verifyImage();?>如上显示正常去掉verifyImage();这个,然后在getVerify里调用这个函数getVerify文件代码<?php require_once 'lib/image.func.php';verifyImage();?>就显示一个黑框没有字
查看完整描述

1 回答

?
乔帮主

TA贡献184条经验 获得超67个赞

string.func.php这个函数你也要调用啊,它就是产生字符的,不调用这个函数的话,就产生不了数字码

查看完整回答
反对 回复 2016-01-14
  • LMY默言
    LMY默言
    <?php require_once 'lib/image.func.php'; require_once 'lib/string.func.php'; verifyImage(); ?> 如果是这个情况的话,还是一样的结果。其实我的getVerify并不是在admin文件夹下的,所以我感觉就是这个问题了,而我猜测的原因是因为两个文件的目录层级不统一造成的,当然我创建了admin文件夹后果然能正常显示了,还是多谢你的回答。
  • 1 回答
  • 0 关注
  • 1289 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信