> 백엔드 개발 > PHP 튜토리얼 > 创建验证码,突然出现大量异常,麻烦帮忙看看,多谢

创建验证码,突然出现大量异常,麻烦帮忙看看,多谢

WBOY
풀어 주다: 2016-06-13 11:55:14
원래의
1077명이 탐색했습니다.

创建验证码,突然出现大量错误,麻烦帮忙看看,谢谢

我在尝试编写一个验证码的php脚本,先开始提示image函数不可用,于是我就添加了php5-gd
安装完成后,发现还是提士找不到函数
于是我就使用了sudo /etc/init.d/apache2 focus-reload
然后 提示函数问题了,却显示大量警告信息
我查看了修改 php.ini文件  error.report =E_ALL & ~E_NOTICE
重启服务器但是还是如此、
验证码的生成代码如下

<br /><?php<br />	session_start();<br />	//set some important identfy constants<br />	define('IDENTFY_NUM',5);<br />	define('IDENTFY_WIDTH',75);<br />	define('IDENTFY_HEIGT',25);<br />	//create the random pass-phrase<br />	$pass_phrase="";<br />	for($i=0;$i<IDENTFY_NUM;$i++){<br />		$pass_phrase.=chr(rand(97,122));<br />	<br />	}<br />	$_SESSION['pass_phrase']=sha1($pass_phrase);<br />	$img=imagecreatetruecolor(IDENTFY_WIDTH,IDENTFY_HEIGHT);<br />	$bg_color=imagecolorallocate($img,255,255,255);<br />	$text_color=imagecolorallocate($img,0,0,0);<br />	$graphic_color=imagecolorallocate($img,64,64,64);<br />	<br />	imagefilledrectangle($img,0,0,IDENTFY_WIDTH,IDENTFY_HEIGHT,$bg_color);<br />	<br />	//Draw random lines<br />	for($i=0;$i<5;$i++){<br />		imageline($img,0,rand()%IDENTFY_HEIGHT,IDENTFY_WIDTH,rand()%INDENTFY_HEIGHT,$graphic_color);<br />	}<br />	for($i=0;$i<50;$i++){<br />		imagesetpixel($img,rand()%IDENTFY_WIDTH,rand()%IDENTFY_HEIGHT,$graphic_color);<br /><br />	}<br />	//Draw the string<br />	imagettftext($img,18,0,5,IDENTFY-5,$text_color,"Courier New Bold.ttf",$pass_phrase);<br />	header("Content-type:image/png");<br />	imagepng($img);<br />	imagedestroy($img);	<br />?>	<br /><br />
로그인 후 복사

------解决方案--------------------
自己检查一下,常量的定义和使用不一致
------解决方案--------------------
已经提示的很明显 23行 你的除法里面分母不能是零 由于这里有错误 倒置$img变量里有杂项值 使得27行的imagesetpixel函数没有一个可用的图片资源
<br />for($i=0;$i<5;$i++){<br />        imageline($img,0,<span   style="max-width:90%">rand()%IDENTFY_HEIGHT</span>,IDENTFY_WIDTH,<span style="color: #FF0000;">rand()%INDENTFY_HEIGHT</span>,$graphic_color);<br />    }<br />
로그인 후 복사


<br /> for($i=0;$i<50;$i++){<br />        imagesetpixel($img,rand()%IDENTFY_WIDTH,rand()%IDENTFY_HEIGHT,$graphic_color);<br /> <br />    }<br />
로그인 후 복사

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿