AMH 社区首页
AMH社区 - 开放自由有价值的社区
[综合话题] 【分享】关于网站验证码不显示,开了GD库也无法显示的解决方法。 |
|
---|---|
9513645 |
9513645 发表于 2017-05-15 00:46:08
这其实是UTF8文件中的BOM头在作怪,以下是我找到的一段代码,大家只要把它放在一个php文件中运行即可.
此代码会自动搜索根目录下所有文件,如果有BOM直接修改,没事就运行一下,修修更健康~! <?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")." <br>"; }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 "<font color=red>BOM found, automatically removed.</font>"; }else{ return ("<font color=red>BOM found.</font>"); } } else return ("BOM Not Found."); }//end function function rewrite($filename, $data){ $filenum = fopen($filename, "w"); flock($filenum, LOCK_EX); fwrite($filenum, $data); fclose($filenum); } ?>
点赞,加油! (3.83分)
2017-05-15 00:46:08 1
|
894587758 |
学习学习 赞一下
回复
2017-05-16 08:52:33 2
|
kint7669 |
学习学习 赞一下
回复
2017-05-16 14:06:21 3
|