检查网站目录下有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); }

            ?>


你可能感兴趣的:(检查网站目录下有bom的文件并移除bom)