PHP做验证码无法显示图片 图片为X
发布网友
发布时间:2022-04-06 04:26
我来回答
共3个回答
懂视网
时间:2022-04-06 08:47
php显示不了图片的解决办法是在header输出之前添加代码为【ob_clean(); header("Content-type:image/jpeg");】并保存即可。
推荐:《PHP视频教程》
PHP验证码图片无法显示问题
我以为是gd2库没有打开,但用 phpinfo查看了,发现打开了
解决方法
加在header输出之前:
ob_clean(); //关键代码,防止出现'图像因其本身有错无法显示'的问题。
header("Content-type:image/jpeg");
例子:
private function outPut() {
ob_clean(); //关键代码,防止出现'图像因其本身有错无法显示'的问题。
header('Content-type:image/png');
imagepng($this->img);
imagedestroy($this->img);
}
热心网友
时间:2022-04-06 05:55
两个错误:
$LL 变量没有提前声明。
最外层的for循环没有与之匹配的右花括号。
修改后的代码:
session_start();
$LL = ''; // 变量要提前声明,并赋初始值。
for ($i = 0; $i < 4; $i ++) {
$LL .= dechex(mt_rand(0, 15));
$_SESSION['code'] = $LL;
$_width = 75;
$_height = 20;
$_img = imagecreatetruecolor($_width, $_height);
$_white = imagecolorallocate($_img, 255, 255, 255);
imagefill($_img, 0, 0, $_white);
$_black = imagecolorallocate($_img, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
imagerectangle($_img, 0, 0, $_width, $_height, $_black);
for ($i = 0; $i < 6; $i ++) {
$_rnd_color = imagecolorallocate($_img, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
imageline($_img, mt_rand(0, $_width), mt_rand(0, $_height), mt_rand(0, $_width), mt_rand(0, $_height), $_rnd_color);
}
} // 缺少了最外层for循环对应的右花括号。
header('content-Type:image/png');
imagepng($_img);
imagedestroy($_img);
热心网友
时间:2022-04-06 07:13
开启了GD扩展吗追问换个浏览器就行了 设置的问题。