PHP验证码常见问题及解决办法 (http://localhost/Test/code.php因其本身有错无法显示)


<?php
session_start();

//随机码的个数
$_rnd_code = 4;

//创建随机码
for ($i=0;$i<$_rnd_code;$i++) {
$_nmsg .= dechex(mt_rand(0,15));
}

//保存在session
$_SESSION[‘code‘] = $_nmsg;

//长和高
$_width = 75;
$_height = 25;

//创建一张图像
$_img = imagecreatetruecolor($_width,$_height);

//白色
$_white = imagecolorallocate($_img,255,255,255);

//填充
imagefill($_img,0,0,$_white);

$_flag = false;

if ($_flag) {
//黑色,边框
$_black = imagecolorallocate($_img,0,0,0);
imagerectangle($_img,0,0,$_width-1,$_height-1,$_black);
}

//随即画出6个线条
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 ($i=0;$i<100;$i++) {
$_rnd_color = imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
imagestring($_img,1,mt_rand(1,$_width),mt_rand(1,$_height),‘*‘,$_rnd_color);
}

//输出验证码
for ($i=0;$i<strlen($_SESSION[‘code‘]);$i++) {
$_rnd_color = imagecolorallocate($_img,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));
imagestring($_img,5,$i*$_width/$_rnd_code+mt_rand(1,10),mt_rand(1,$_height/2),$_SESSION[‘code‘][$i],$_rnd_color);
}

//输出图像
header(‘Content-Type: image/png‘);
imagepng($_img);

//销毁
imagedestroy($_img);

?>

因为网页上还有其他内容,所以header("Content-type:image/jpeg");
 位置已经被占用,验证码不能出现了,就会出现图像“http://localhost/**.php”因其本身有错,无法显示”

那么,解决这个问题的最简单的办法就是,直接删除header("Content-type:image/jpeg");
或者在其之前加上
ob_clean();

PHP验证码常见问题及解决办法
(http://localhost/Test/code.php因其本身有错无法显示)

时间: 2024-08-10 17:18:26

PHP验证码常见问题及解决办法 (http://localhost/Test/code.php因其本身有错无法显示)的相关文章

解决PHP生成校验码时“图像因其本身有错无法显示”的错误

今天使用http://crazymud.iteye.com/blog/452293给出的代码进行PHP生成校验码功能的实现,发现firefox一直提示“图像.......因其本身有错无法显示”的问题,作者也提示了说“如果浏览器显示“图像XXX因其本身有错无法显示”,可尽量去掉文中空格”,但把代码中所有空格都去掉了还是不能显示检验图片.于是深度google,大部分的解决方案也是将“<?”这句代码前的空格回车一切都删掉以防止有html输出,但这根本解决不了我的问题,后来看到有人在Header("

iOS开发百度地图常见问题及解决办法

1.64bit模拟器不能正常工作 解决:请将Xcode5 的 Project -> Edit Active Target -> Build Settings -> Linking -> Other Linker Flags 中的"-ObjC"修改为"-all_load" 2.程序死在 _mapView = [[BMKMapView alloc] init]; 解决:很可能是由于没有在appDelegate里面初始化_mapManager 3.

Vmware vSphere常见问题及解决办法

Vmware vSphere常见问题及解决办法 日期:2012-6-29来源:51cto Vmware vSphere 12 1. 虚拟机文件被锁,无法正常 power on 故障状态: 启动虚拟机时95%,停顿并且进程中断,提示:ubable to access files since it is locked. 祸根:HA 解决方法: (1)首先将cluster中的HA功能关闭.如果该功能不关闭,容易造成死锁,,VM不断跳动,,不断再不同的ESX内循环被锁,徒劳而无功. (2)磁盘文件被锁,

多页面验证码冲突的解决办法

"多页面验证码冲突的解决办法" 多页面验证码冲突的解决办法,布布扣,bubuko.com

实战中总结出来的CSS常见问题及解决办法

一.ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值. 二.同一个的class选择符可以在一个文档中重复出现,而id选择符却只能出现一次. 对一个标签同时使用class和id进行CSS定义,如果定义有重复,id选择符做的定义有效,是因为id的权重要比class大. 三.一个兼容性调整(IE和Mozilla)的笨办法: 初学可能会碰到这样一个情况:同样一个标签的属性在IE设置成A显示是正常的,而在Mozilla里必须要设成B才能正常显示,或者两个倒过来. 临时解

【小梅哥SOPC学习笔记】SOPC开发常见问题及解决办法集锦

SOPC开发常见问题及解决办法集锦 一.Symbol 'NULL' could not be resolved 近期在评估使用NIOS II处理器进行项目的开发,我使用的软件是Quartus II 13.0的版本,一路下来,在Qsys系统中搭建NIOS II片上系统,在Quartus II中建立工程文件等等过程,没有太多的问题,这里暂且不表.只是在NIOS II Software build tools for Eclipse中进行软件开发时,一个非常让人不解的问题就是:我在工程向导中创建一个H

fetch使用的常见问题及其解决办法

摘自: https://segmentfault.com/a/1190000008484070 fetch使用的常见问题及其解决办法 javascript wonyun 2月25日发布 |   0 收藏  |  17 2.4k 次浏览 首先声明一下,本文不是要讲解fetch的具体用法,不清楚的可以参考MDN fetch教程. 引言 说道fetch就不得不提XMLHttpRequest了,XHR在发送web请求时需要开发者配置相关请求信息和成功后的回调,尽管开发者只关心请求成功后的业务处理,但是也

RSYNC @ERROR: AUTH FAILED ON MODULE XXX 解决思路及附录RSYNC常见问题及解决办法

使用rsync往服务器上传文件时,client报如下异常: @ERROR: auth failed on module XXX rsync error: error starting client-server protocol (code 5) at main.c(1503) [Receiver=3.0.6] 排查步骤 1 检查server端和client端的用户名和密码确认都无误: 服务器端检查这个/etc/rsync.pass密码文件, 客户端检查--password-file配置的密码文

启动Tomcat时的常见问题及解决办法

问题一:环境变量 1.检查jdk 验证jdk的配置,在运行-cmd中输入 java -version 即表示安装成功. 如果jdk没有问题,还需要配置两个环境变量.找到jdk和jre的路径,配置JAVA_HOME和JRE_HOME,变量值为jdk的安装路径. JAVA_HOME D:\Program Files (x86)\Java\jdk1.6.0_10 JRE_HOME C:\Program Files (x86)\Java\jre6 如果不清楚是否配置成功,可使用命令来检查.如下图,提示J