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

原创
2016-06-13 11:55:14 678浏览

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

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


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 $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 imageline($img,0,rand()%IDENTFY_HEIGHT,IDENTFY_WIDTH,rand()%INDENTFY_HEIGHT,$graphic_color);
}
for($i=0;$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);
?>


------解决方案--------------------
自己检查一下,常量的定义和使用不一致
------解决方案--------------------
已经提示的很明显 23行 你的除法里面分母不能是零 由于这里有错误 倒置$img变量里有杂项值 使得27行的imagesetpixel函数没有一个可用的图片资源

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



for($i=0;$i imagesetpixel($img,rand()%IDENTFY_WIDTH,rand()%IDENTFY_HEIGHT,$graphic_color);

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