立即注册 找回密码

QQ登录

只需一步,快速开始

查看: 3344|回复: 0

[Discuz 通用教程] 道勤网小编教您如何快速去除整站程序文件编码中的BOM方法

[复制链接]
发表于 2015-12-19 22:45:41 | 显示全部楼层 |阅读模式
道勤网-数据www.daoqin.net

亲注册登录道勤网-可以查看更多帖子内容哦!(包涵精彩图片、文字详情等)请您及时注册登录-www.daoqin.net

您需要 登录 才可以下载或查看,没有账号?立即注册

x
今天发现这个方法也是偶然,在道勤主机购买了独立ip空间后,安装指定的网站程序,安装完成后登陆后台时,验证码不显示,空间初始化了几次重新安装后,才初步断定是网站程序文件中有bom格式文件存在,常规的是utf-8,他这个是utf-8+bom,所以出现问题了。但是,这会儿你又不知道确却的文件是哪一个?怎么办勒?
接下来用小编这个方法,一定管用!

道勤网小编教您如何快速去除整站程序文件编码中的BOM方法

道勤网小编教您如何快速去除整站程序文件编码中的BOM方法

首先,你本地新建一个文件,小编这里命名为:RemoveBom.php
接着,把下面这段代码复制粘贴进去,上面命名的文件里面,然后保存一下,上传到网站根目录下面,接着直接运行该文件即可!
RemoveBom.php代码如下:
  1. <?php  
  2.     if (isset($_GET['dir'])){ //设置文件目录  
  3.     $basedir=$_GET['dir'];  
  4.     }else{  
  5.     $basedir = '.';  
  6.     }  
  7.     $auto = 1;  
  8.     checkdir($basedir);  
  9.     function checkdir($basedir){  
  10.     if ($dh = opendir($basedir)) {  
  11.       while (($file = readdir($dh)) !== false) {  
  12.        if ($file != '.' && $file != '..'){  
  13.         if (!is_dir($basedir."/".$file)) {  
  14.          echo "filename: $basedir/$file ".checkBOM("$basedir/$file")." <br>";  
  15.         }else{  
  16.          $dirname = $basedir."/".$file;  
  17.          checkdir($dirname);  
  18.         }  
  19.        }  
  20.       }  
  21.     closedir($dh);  
  22.     }  
  23.     }  
  24.     function checkBOM ($filename) {  
  25.     global $auto;  
  26.     $contents = file_get_contents($filename);  
  27.     $charset[1] = substr($contents, 0, 1);  
  28.     $charset[2] = substr($contents, 1, 1);  
  29.     $charset[3] = substr($contents, 2, 1);  
  30.     if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) ==
  31. 191) {  
  32.       if ($auto == 1) {  
  33.        $rest = substr($contents, 3);  
  34.        rewrite ($filename, $rest);  
  35.        return ("<font color=red>BOM found, automatically removed._<a
  36. href=http://www.51php.com>http://www.51php.com</a></font>");  
  37.       } else {  
  38.        return ("<font color=red>BOM found.</font>");  
  39.       }  
  40.     }  
  41.     else return ("BOM Not Found.");  
  42.     }  
  43.     function rewrite ($filename, $data) {  
  44.     $filenum = fopen($filename, "w");  
  45.     flock($filenum, LOCK_EX);  
  46.     fwrite($filenum, $data);  
  47.     fclose($filenum);  
  48.     }  
  49. ?>
复制代码


上面的代码的作用就是清除BOM的!实际效果非常好,分分钟解决这个问题,站长的得力助手呀,小编现在还在用!



道勤主机提供365天*24小时全年全天无休、实时在线、零等待的售后技术支持。竭力为您免费处理您在使用道勤主机过程中所遇到的一切问题! 如果您是道勤主机用户,那么您可以通过QQ【792472177】、售后QQ【59133755】、旺旺【诠释意念】、微信:q792472177免费电话、后台提交工单这些方式联系道勤主机客服! 如果您不是我们的客户也没问题,点击页面最右边的企业QQ在线咨询图标联系我们并购买后,我们为您免费进行无缝搬家服务,让您享受网站零访问延迟的迁移到道勤主机的服务!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

道勤网- 推荐内容!上一条 /2 下一条

!jz_fbzt! !jz_sgzt! !jz_xgzt! 快速回复 !jz_fhlb! !jz_lxwm! !jz_gfqqq!

关于我们|手机版|小黑屋|地图|【道勤网】-www.daoqin.net 软件视频自学教程|免费教程|自学电脑|3D教程|平面教程|影视动画教程|办公教程|机械设计教程|网站设计教程【道勤网】 ( 皖ICP备15000319号-1 )

GMT+8, 2024-5-21 21:10

Powered by DaoQin! X3.4 © 2016-2063 Dao Qin & 道勤科技

快速回复 返回顶部 返回列表