如何解决php版本低导致验证码不显示的问题
这篇文章主要讲解了“如何解决php版本低导致验证码不显示的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决php版本低导致验证码不显示的问题”吧!
成都创新互联是专业的衢州网站建设公司,衢州接单;提供网站设计制作、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行衢州网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
1、安装php5-gd所需的依赖。
2、创建一个clean.php文件在项目根目录下。
3、清除bom即可。
在尝试无数搜索关键词之后,"php5装了gd也不显示验证码"终于搜索到了一个帖子,里面提到了BOM头,这一点就明白过来,因为在用crt远程登录服务器编辑一些文件的时候也会有这个BOM头的情况,于是创建一个clean.php文件在项目根目录下
粘贴如下代码
/*清除bom*/ if(isset($_GET['dir'])){ $basedir=$_GET['dir']; }else{ $basedir = '.'; } $auto = 1; checkdir($basedir); function checkdir($basedir){ if($dh = opendir($basedir)){ while(($file = readdir($dh)) !== false){ if($file != '.' && $file != '..'){ if(!is_dir($basedir."/".$file)){ echo "filename: $basedir/$file ".checkBOM("$basedir/$file")." "; }else{ $dirname = $basedir."/".$file; checkdir($dirname); } } }//end while closedir($dh); }//end if($dh }//end function function checkBOM($filename){ global $auto; $contents = file_get_contents($filename); $charset[1] = substr($contents, 0, 1); $charset[2] = substr($contents, 1, 1); $charset[3] = substr($contents, 2, 1); if(ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191){ if($auto == 1){ $rest = substr($contents, 3); rewrite ($filename, $rest); return "BOM found, automatically removed."; }else{ return ("BOM found."); } } else return ("BOM Not Found."); }//end function function rewrite($filename, $data){ $filenum = fopen($filename, "w"); flock($filenum, LOCK_EX); fwrite($filenum, $data); fclose($filenum); } ?>
直接浏览器访问https://url/clean.php
有问题就会看到很多这样的日志,接着重新访问验证码页面,正常访问。
感谢各位的阅读,以上就是“如何解决php版本低导致验证码不显示的问题”的内容了,经过本文的学习后,相信大家对如何解决php版本低导致验证码不显示的问题这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!
网站标题:如何解决php版本低导致验证码不显示的问题
浏览地址:http://myzitong.com/article/iejcos.html