Heim  >  Artikel  >  Backend-Entwicklung  >  创建验证码,突然出现大量错误,麻烦帮忙看看,谢谢

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

WBOY
WBOYOriginal
2016-06-23 13:58:341132Durchsuche


我在尝试编写一个验证码的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);     }

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn