php验证码图片不显示图片怎么办
php验证码图片不显示图片的解决办法:首先检查php是否安装gd扩展;然后在php目录下找到php.ini文件;最后将文件编码方式改为utf-8无DOM格式,并在header前清除缓存即可。
PHP图片验证码无法显示的解决方案
问题:使用php实现图片验证码,页面不显示
<form action="signin.php" method="post" class="col-xs-12 col-sm-4" id="post-form"> <h2>登录</h2> <div class="form-group"> <label for="username">用户名</label> <input type="text" class="form-control" id="username" name="username"> </div> <div class="form-group"> <label for="password">密码</label> <input type="password" class="form-control" id="password" name="password"> </div> <div class="form-group row"> <div class="col-xs-5"> <label class="sr-only">验证码:</label> <input type="text" class="form-control" id="authcode" name="authcode" placeholder="验证码"> </div> <div class="col-xs-7"> <img class="authcod_img" src="authcode.php"onclick="this.src='authcode.php?t='+Math.random()" name="authcode"> </div> </div> <button type="button" class="btn btn-default">提交</button> </form> <?php session_start(); header('Content-Type: image/png'); $img = imagecreatetruecolor(150, 40); $bgcolor = imagecolorallocate($img, rand(0,100),rand(0,100),rand(0,100)); imagefill($img, 0,0,$bgcolor);
解决方案:
windows环境下,检查php是否安装gd扩展,且为开启状态
php目录下找到php.ini文件,查找如下语句
若语句前有分号,去掉分号
将文件编码方式改为utf-8无DOM格式
在header前清除缓存
ob_clean(); header('Content-Type: image/png');
输出前不能出现echo,print_r,var_dump等打印,注释或删除