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

WBOY
發布: 2016-06-23 13:58:34
原創
1140 人瀏覽過


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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板