• 检查PHP文件中是否含有bom的PHP函数


    <?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);
    }//end function
    ?>
  • 相关阅读:
    6-2 播放厅模块基础环境构建
    6-1 Eureka实战之播放厅模块章节介绍
    5-18 影片模块作业思路讲解
    5-17 影院模块表现层构建
    5-16 影院模块基础环境构建
    5-15 影院模块表结构介绍
    5-14 影片模块整体测试
    5-13 影片保存实现
    5-12 影片保存准备
    5-11 影片详情查询实现
  • 原文地址:https://www.cnblogs.com/52php/p/5659864.html
Copyright © 2020-2023  润新知