php验证图片不显示-php教程

资源魔 32 0

谬误:

verify-1.jpg

明天正在正在内陆新建了一个虚构主机,把之前写好的一个php小网站部署下来,由于之前用的wamp集成环境,以是不呈现这类状况。如今忽然发现验证码居然刷没有进去了。

于是便开启了找bug之旅,正在网上找了许多方法,最初终于处理了,如今分享以下:

办法一:

呈现下面的状况,最根本的一个谬误就是你极可能正在php外面遗记装置gd模块了。window环境上面只要要正在php.ini文件外面找到:

;extension=php_gd2.dll

把后面的分号去掉就能够了,重启apache后,你就能够正在phpinfo()外面找到这个:

verify-2.jpg

假如是正在ubuntu环境上面,你需求装置gd模块,饬令是:

sudo apt-get install php5-gd

装置好了当前,也能够看到下面的模块。

办法二:

假如小同伴经验下面的装置后,发现仍是不用,那末就多是上面的成绩了。

你的代码极可能是应用了像editpuls或许notepad++这样的文本编纂器编纂的,那末他们的默许编码格局就是有BOM的utf-8。UTF-8 BOM又叫UTF-8 署名,其实UTF-8 的BOM对UFT-8不作用,是为了支持UTF-16,UTF-32才加之的。

BOM署名的意义就是通知编纂器以后文件采纳何种编码,不便编纂器辨认,然而BOM尽管正在编纂器中没有显示,然而会孕育发生输入,就像多了一个空行。普通我用UTF-8无BOM格局,以是你需求将代码的编码格局改为无BOM格局。

办法三:

假如各人经验下面的两个步骤发现仍是没有起作用,那就要祭出杀手锏了。应用ob_clean()了,肃清一下缓存。ob_clean这个函数的作用就是用来抛弃输入缓冲区中的内容,假如你的有许多天生的图片类文件,那末想要拜访正确,就要常常肃清缓冲区。

	public function create()
	{
		ob_clean();
		$a = new verify();
		session::set('captcha', strtolower($a->create(4, 15)));
		view::assign("captcha", $a);
		view::display("captcha");
		exit(0);
	}

留意:

各人假如应用较高的php版本,那末不克不及应用不决义变量,不然会报notice谬误,$new_number以及$_SESSION['check_checks']正在应用前必需用isset判别一下或许你用老代码的话正在最开端处加之error_reporting(E_ALL & ~E_NOTICE);屏蔽掉notice谬误(没有保举),以是用isset()判别一下,来确保它被界说了,否则也有可能显示没有进去验证码。

保举视频教程:PHP视频教程

以上就是php验证图片没有显示的具体内容,更多请存眷资源魔其它相干文章!

标签: php 显示 php开发教程 php开发资料 php开发自学 验证图片

抱歉,评论功能暂时关闭!