首页  >  文章  >  后端开发  >  创建验证码,突然出现大量错误,麻烦帮忙看看,谢谢

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

WBOY
WBOY原创
2016-06-23 13:58:341134浏览


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

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


回复讨论(解决方案)

自己检查一下,常量的定义和使用不一致

自己检查一下,常量的定义和使用不一致


谢谢版主,一个错误,引起了那么多,自己没耐心啊,不过现在出现imagettftext()这个函数无法找到font,看了手册也没看到font怎么找?如何设置font路径,font路径指linux 的font路径 还是gd库的font?

字体文件要使用绝对路径,你放在哪就写哪

已经提示的很明显 23行 你的除法里面分母不能是零  由于这里有错误 倒置$img变量里有杂项值 使得27行的imagesetpixel函数没有一个可用的图片资源

for($i=0;$i<5;$i++){        imageline($img,0,rand()%IDENTFY_HEIGHT,IDENTFY_WIDTH,rand()%INDENTFY_HEIGHT,$graphic_color);    }


 for($i=0;$i<50;$i++){        imagesetpixel($img,rand()%IDENTFY_WIDTH,rand()%IDENTFY_HEIGHT,$graphic_color);     }

已经提示的很明显 23行 你的除法里面分母不能是零  由于这里有错误 倒置$img变量里有杂项值 使得27行的imagesetpixel函数没有一个可用的图片资源

for($i=0;$i<5;$i++){        imageline($img,0,rand()%IDENTFY_HEIGHT,IDENTFY_WIDTH,rand()%INDENTFY_HEIGHT,$graphic_color);    }


 for($i=0;$i<50;$i++){        imagesetpixel($img,rand()%IDENTFY_WIDTH,rand()%IDENTFY_HEIGHT,$graphic_color);     }



for($i=0;$i<5;$i++){        imageline($img,0,rand()%IDENTFY_HEIGHT,IDENTFY_WIDTH,rand()%INDENTFY_HEIGHT,$graphic_color);    }


 for($i=0;$i<50;$i++){        imagesetpixel($img,rand()%IDENTFY_WIDTH,rand()%IDENTFY_HEIGHT,$graphic_color);     }

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn