12 个解决方案
#1
那可能你的代码有问题呗。可以贴出来瞧瞧。
#2
我晕、这种交代让人如何回答呢、
你的验证码是图片的不?
是图片的就看看路径、
你的验证码是图片的不?
是图片的就看看路径、
#3
可能是没有输出图片格式。
#4
估计在验证码类中少了这
header("Content-Type:image/png");
header("Content-Type:image/png");
#5
一定不能有META 语句,因为输出的是图象,所以不能有除图象地址之外的任何输出,包含空格
#6
我之前也是用这个验证码的啊!都没有问题,只是后来又重新安啦一次wamp5就变x啦,这个应该怎么做啊?
#7
是不是那个wamp5里面有个可以改的?我怕记得之前也是现实x,我就不知道怎么改啦一下,好啦,现在又重新按一次wamp5就又不行啦,就不知道怎么改啦!会的帮个忙啊?谢谢!
#8
<?
//随机字符串种子,可以换成字母或其他英文字符
$glbVerifySeed = "AbcDefGhijkL1234567890mnOpqRstuvwxYz";
main();
function main() {
session_start();
$verifyCode = getRandomCode();
$_SESSION["verifyCode"] = $verifyCode;
$imgWidth = $_REQUEST["width"];
$imgHeight = $_REQUEST["height"];
$imgFont = $_REQUEST["font"];
if($imgWidth == "") $imgWidth = 50;
if($imgHeight == "") $imgHeight = 18;
if($imgFont == "") $imgFont = 6;
doOutputImg($verifyCode, $imgWidth, $imgHeight, $imgFont);
}
//获取随机数字字符串
function getRandomCode($length=4) {
global $glbVerifySeed;
$bgnIdx = 0;
$endIdx = strlen($glbVerifySeed)-1;
$code = "";
for($i=0; $i<$length; $i++) {
$curPos = rand($bgnIdx, $endIdx);
$code .= substr($glbVerifySeed, $curPos, 1);
}
return $code;
}
//输出校验码图像
function doOutputImg($string, $imgWidth, $imgHeight, $imgFont,
$imgFgColorArr=array(0,0,0), $imgBgColorArr=array(255,255,255)) {
$image = imagecreatetruecolor($imgWidth, $imgHeight);
//用白色背景加黑色边框画个方框
$backColor = imagecolorallocate($image, 255, 255, 255);
$borderColor = imagecolorallocate($image, 255, 255, 255);
imagefilledrectangle($image, 0, 0, $imgWidth - 1, $imgHeight - 1, $backColor);
imagerectangle($image, 0, 0, $imgWidth - 1, $imgHeight - 1, $borderColor);
$imgFgColor = imagecolorallocate ($image, $imgFgColorArr[0], $imgFgColorArr[1], $imgFgColorArr[2]);
doDrawStr($image, $string, $imgFgColor, $imgFont);
doPollute($image, 64);
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
}
//画出校验码
function doDrawStr($image, $string, $color, $imgFont) {
$imgWidth = imagesx($image);
$imgHeight = imagesy($image);
$count = strlen($string);
$xpace = ($imgWidth/$count);
$x = ($xpace-6)/2;
$y = ($imgHeight/2-8);
for ($p = 0; $p<$count; $p ++) {
$xoff = rand(-2, +2);
$yoff = rand(-2, +2);
$curChar = substr($string, $p, 1);
imagestring($image, $imgFont, $x+$xoff, $y+$yoff, $curChar, $color);
$x += $xpace;
}
return 0;
}
//画出一些杂点
function doPollute($image, $times) {
$imgWidth = imagesx($image);
$imgHeight = imagesy($image);
for($j=0; $j<$times; $j++) {
$x = rand(0, $imgWidth);
$y = rand(0, $imgHeight);
$color = imagecolorallocate($image, rand(0,255), rand(0,255), rand(0,255));
imagesetpixel($image, $x, $y, $color);
}
}
?>
//随机字符串种子,可以换成字母或其他英文字符
$glbVerifySeed = "AbcDefGhijkL1234567890mnOpqRstuvwxYz";
main();
function main() {
session_start();
$verifyCode = getRandomCode();
$_SESSION["verifyCode"] = $verifyCode;
$imgWidth = $_REQUEST["width"];
$imgHeight = $_REQUEST["height"];
$imgFont = $_REQUEST["font"];
if($imgWidth == "") $imgWidth = 50;
if($imgHeight == "") $imgHeight = 18;
if($imgFont == "") $imgFont = 6;
doOutputImg($verifyCode, $imgWidth, $imgHeight, $imgFont);
}
//获取随机数字字符串
function getRandomCode($length=4) {
global $glbVerifySeed;
$bgnIdx = 0;
$endIdx = strlen($glbVerifySeed)-1;
$code = "";
for($i=0; $i<$length; $i++) {
$curPos = rand($bgnIdx, $endIdx);
$code .= substr($glbVerifySeed, $curPos, 1);
}
return $code;
}
//输出校验码图像
function doOutputImg($string, $imgWidth, $imgHeight, $imgFont,
$imgFgColorArr=array(0,0,0), $imgBgColorArr=array(255,255,255)) {
$image = imagecreatetruecolor($imgWidth, $imgHeight);
//用白色背景加黑色边框画个方框
$backColor = imagecolorallocate($image, 255, 255, 255);
$borderColor = imagecolorallocate($image, 255, 255, 255);
imagefilledrectangle($image, 0, 0, $imgWidth - 1, $imgHeight - 1, $backColor);
imagerectangle($image, 0, 0, $imgWidth - 1, $imgHeight - 1, $borderColor);
$imgFgColor = imagecolorallocate ($image, $imgFgColorArr[0], $imgFgColorArr[1], $imgFgColorArr[2]);
doDrawStr($image, $string, $imgFgColor, $imgFont);
doPollute($image, 64);
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
}
//画出校验码
function doDrawStr($image, $string, $color, $imgFont) {
$imgWidth = imagesx($image);
$imgHeight = imagesy($image);
$count = strlen($string);
$xpace = ($imgWidth/$count);
$x = ($xpace-6)/2;
$y = ($imgHeight/2-8);
for ($p = 0; $p<$count; $p ++) {
$xoff = rand(-2, +2);
$yoff = rand(-2, +2);
$curChar = substr($string, $p, 1);
imagestring($image, $imgFont, $x+$xoff, $y+$yoff, $curChar, $color);
$x += $xpace;
}
return 0;
}
//画出一些杂点
function doPollute($image, $times) {
$imgWidth = imagesx($image);
$imgHeight = imagesy($image);
for($j=0; $j<$times; $j++) {
$x = rand(0, $imgWidth);
$y = rand(0, $imgHeight);
$color = imagecolorallocate($image, rand(0,255), rand(0,255), rand(0,255));
imagesetpixel($image, $x, $y, $color);
}
}
?>
#9
我显示正常哦~你把文件格式改为utf8无bom头
#10
改在哪里啊?我的以前也显示正常。就是不知道现在怎么就不行啦!
#11
好崩溃哦!帮帮忙啊!谢谢!
#12
是配置文件中php.ini中设置不对,将图形库的那个注释去掉就可以
#1
那可能你的代码有问题呗。可以贴出来瞧瞧。
#2
我晕、这种交代让人如何回答呢、
你的验证码是图片的不?
是图片的就看看路径、
你的验证码是图片的不?
是图片的就看看路径、
#3
可能是没有输出图片格式。
#4
估计在验证码类中少了这
header("Content-Type:image/png");
header("Content-Type:image/png");
#5
一定不能有META 语句,因为输出的是图象,所以不能有除图象地址之外的任何输出,包含空格
#6
我之前也是用这个验证码的啊!都没有问题,只是后来又重新安啦一次wamp5就变x啦,这个应该怎么做啊?
#7
是不是那个wamp5里面有个可以改的?我怕记得之前也是现实x,我就不知道怎么改啦一下,好啦,现在又重新按一次wamp5就又不行啦,就不知道怎么改啦!会的帮个忙啊?谢谢!
#8
<?
//随机字符串种子,可以换成字母或其他英文字符
$glbVerifySeed = "AbcDefGhijkL1234567890mnOpqRstuvwxYz";
main();
function main() {
session_start();
$verifyCode = getRandomCode();
$_SESSION["verifyCode"] = $verifyCode;
$imgWidth = $_REQUEST["width"];
$imgHeight = $_REQUEST["height"];
$imgFont = $_REQUEST["font"];
if($imgWidth == "") $imgWidth = 50;
if($imgHeight == "") $imgHeight = 18;
if($imgFont == "") $imgFont = 6;
doOutputImg($verifyCode, $imgWidth, $imgHeight, $imgFont);
}
//获取随机数字字符串
function getRandomCode($length=4) {
global $glbVerifySeed;
$bgnIdx = 0;
$endIdx = strlen($glbVerifySeed)-1;
$code = "";
for($i=0; $i<$length; $i++) {
$curPos = rand($bgnIdx, $endIdx);
$code .= substr($glbVerifySeed, $curPos, 1);
}
return $code;
}
//输出校验码图像
function doOutputImg($string, $imgWidth, $imgHeight, $imgFont,
$imgFgColorArr=array(0,0,0), $imgBgColorArr=array(255,255,255)) {
$image = imagecreatetruecolor($imgWidth, $imgHeight);
//用白色背景加黑色边框画个方框
$backColor = imagecolorallocate($image, 255, 255, 255);
$borderColor = imagecolorallocate($image, 255, 255, 255);
imagefilledrectangle($image, 0, 0, $imgWidth - 1, $imgHeight - 1, $backColor);
imagerectangle($image, 0, 0, $imgWidth - 1, $imgHeight - 1, $borderColor);
$imgFgColor = imagecolorallocate ($image, $imgFgColorArr[0], $imgFgColorArr[1], $imgFgColorArr[2]);
doDrawStr($image, $string, $imgFgColor, $imgFont);
doPollute($image, 64);
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
}
//画出校验码
function doDrawStr($image, $string, $color, $imgFont) {
$imgWidth = imagesx($image);
$imgHeight = imagesy($image);
$count = strlen($string);
$xpace = ($imgWidth/$count);
$x = ($xpace-6)/2;
$y = ($imgHeight/2-8);
for ($p = 0; $p<$count; $p ++) {
$xoff = rand(-2, +2);
$yoff = rand(-2, +2);
$curChar = substr($string, $p, 1);
imagestring($image, $imgFont, $x+$xoff, $y+$yoff, $curChar, $color);
$x += $xpace;
}
return 0;
}
//画出一些杂点
function doPollute($image, $times) {
$imgWidth = imagesx($image);
$imgHeight = imagesy($image);
for($j=0; $j<$times; $j++) {
$x = rand(0, $imgWidth);
$y = rand(0, $imgHeight);
$color = imagecolorallocate($image, rand(0,255), rand(0,255), rand(0,255));
imagesetpixel($image, $x, $y, $color);
}
}
?>
//随机字符串种子,可以换成字母或其他英文字符
$glbVerifySeed = "AbcDefGhijkL1234567890mnOpqRstuvwxYz";
main();
function main() {
session_start();
$verifyCode = getRandomCode();
$_SESSION["verifyCode"] = $verifyCode;
$imgWidth = $_REQUEST["width"];
$imgHeight = $_REQUEST["height"];
$imgFont = $_REQUEST["font"];
if($imgWidth == "") $imgWidth = 50;
if($imgHeight == "") $imgHeight = 18;
if($imgFont == "") $imgFont = 6;
doOutputImg($verifyCode, $imgWidth, $imgHeight, $imgFont);
}
//获取随机数字字符串
function getRandomCode($length=4) {
global $glbVerifySeed;
$bgnIdx = 0;
$endIdx = strlen($glbVerifySeed)-1;
$code = "";
for($i=0; $i<$length; $i++) {
$curPos = rand($bgnIdx, $endIdx);
$code .= substr($glbVerifySeed, $curPos, 1);
}
return $code;
}
//输出校验码图像
function doOutputImg($string, $imgWidth, $imgHeight, $imgFont,
$imgFgColorArr=array(0,0,0), $imgBgColorArr=array(255,255,255)) {
$image = imagecreatetruecolor($imgWidth, $imgHeight);
//用白色背景加黑色边框画个方框
$backColor = imagecolorallocate($image, 255, 255, 255);
$borderColor = imagecolorallocate($image, 255, 255, 255);
imagefilledrectangle($image, 0, 0, $imgWidth - 1, $imgHeight - 1, $backColor);
imagerectangle($image, 0, 0, $imgWidth - 1, $imgHeight - 1, $borderColor);
$imgFgColor = imagecolorallocate ($image, $imgFgColorArr[0], $imgFgColorArr[1], $imgFgColorArr[2]);
doDrawStr($image, $string, $imgFgColor, $imgFont);
doPollute($image, 64);
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
}
//画出校验码
function doDrawStr($image, $string, $color, $imgFont) {
$imgWidth = imagesx($image);
$imgHeight = imagesy($image);
$count = strlen($string);
$xpace = ($imgWidth/$count);
$x = ($xpace-6)/2;
$y = ($imgHeight/2-8);
for ($p = 0; $p<$count; $p ++) {
$xoff = rand(-2, +2);
$yoff = rand(-2, +2);
$curChar = substr($string, $p, 1);
imagestring($image, $imgFont, $x+$xoff, $y+$yoff, $curChar, $color);
$x += $xpace;
}
return 0;
}
//画出一些杂点
function doPollute($image, $times) {
$imgWidth = imagesx($image);
$imgHeight = imagesy($image);
for($j=0; $j<$times; $j++) {
$x = rand(0, $imgWidth);
$y = rand(0, $imgHeight);
$color = imagecolorallocate($image, rand(0,255), rand(0,255), rand(0,255));
imagesetpixel($image, $x, $y, $color);
}
}
?>
#9
我显示正常哦~你把文件格式改为utf8无bom头
#10
改在哪里啊?我的以前也显示正常。就是不知道现在怎么就不行啦!
#11
好崩溃哦!帮帮忙啊!谢谢!
#12
是配置文件中php.ini中设置不对,将图形库的那个注释去掉就可以