当前位置:首页 » 网络教程 » 正文

织梦教程:教你PHP批量去除bom头代码的小工具教程!

474 人参与  2017年08月17日 13:16  分类 : 网络教程  评论

在 aitecms 群里有网友抱怨了好几天说本地的验证码一直无法显示,后来听说解决了,问其如何解决的,说是去除了文件 bom 就好了。后来百度到一篇文章也说 dedecms 的验证码不能显示,某次解决了文件 bom 后竟然好了,于是本篇文章就显得很重要了。
39050563_1.jpg

网上转载的,出处已经不可考了,不知道原作者是谁,在这里先向作者表示感谢。

代码如下:

<?php
02    /*
03     * PHP批量去除bom头代码的小工具
04     * http://blog.kilvn.com/
05     */
06 
07    if (isset($_GET['dir'])){ //设置文件目录
08        $basedir=$_GET['dir'];
09    }else{
10        $basedir = '.';
11    }
12 
13    $auto = 1;
14 
15    checkdir($basedir);
16 
17    function checkdir($basedir){
18        if ($dh = opendir($basedir)) {
19            while (($file = readdir($dh)) !== false) {
20                if ($file != '.' && $file != '..'){
21                    if (!is_dir($basedir."/".$file)) {
22                        echo "filename: $basedir/$file ".checkBOM("$basedir/$file")." <br>";
23                    }else{
24                        $dirname = $basedir."/".$file;
25                        checkdir($dirname);
26                    }
27                }
28            }
29        closedir($dh);
30        }
31    }
32 
33    function checkBOM($filename) {
34        global $auto;
35        $contents = file_get_contents($filename);
36        $charset[1] = substr($contents, 0, 1);
37        $charset[2] = substr($contents, 1, 1);
38        $charset[3] = substr($contents, 2, 1);
39        if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) {
40            if ($auto == 1) {
41                $rest = substr($contents, 3);
42                rewrite ($filename, $rest);
43                return ("<font color=red>BOM found, automatically removed.</font>");
44            } else {
45                return ("<font color=red>BOM found.</font>");
46            }
47        }
48        else return ("BOM Not Found.");
49    }
50 
51    function rewrite($filename, $data) {
52        $filenum = fopen($filename, "w");
53        flock($filenum, LOCK_EX);
54        fwrite($filenum, $data);
55        fclose($filenum);
56    }


保存为一个php文件,放到网站根目录下,可以遍历文件夹并自动清除bom,对文件绝对安全,亲测过的。


来源:皇族网(微信公众号:新皇族网),转载请保留出处和链接!

本文链接:https://huangzuw.com/post/48.html

本文标签:建站技巧  网络教程  

<< 上一篇 下一篇 >>

  • 评论(0)
  • 相关文章

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

© 2017 皇族网版权所有粤ICP备17025864号-2

Top

分享:

支付宝

微信