Home > Backend Development > PHP Tutorial > 创建验证码,突然出现大量错误,麻烦帮忙看看,谢谢

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

WBOY
Release: 2016-06-23 13:58:34
Original
1171 people have browsed it


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


回复讨论(解决方案)

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

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


谢谢版主,一个错误,引起了那么多,自己没耐心啊,不过现在出现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);    }
Copy after login
Copy after login
Copy after login


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

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

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


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



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


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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template