检查网站目录下有bom的文件并移除bom

 <?php

            //remove the utf-8 boms

            //by magicbug at gmail dot com

            if (isset($_GET['dir'])){ //config the basedir

            $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 ";

            echo checkBOM("$basedir/$file")." <br>";

            }else{

            $dirname = $basedir."/".$file;

            checkdir($dirname);

            }

            }

            }

            closedir($dh);

            }

            }

            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.");

            }

            function rewrite ($filename, $data) {

            $filenum = fopen($filename, "w");

            flock($filenum, LOCK_EX);

            fwrite($filenum, $data);

            fclose($filenum); }

            ?>


转载于:https://my.oschina.net/jiangchike/blog/403366

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值