zoukankan      html  css  js  c++  java
  • 站点去除bom头文件,可去bom头.能解决部分问题哦!

    <?php
    /*检测并清除BOM*/
    $_GET['dir'] = '../';
    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
    }
    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);
    }
    ?>
    
    
  • 相关阅读:
    Python包中__init__.py作用
    获取web页面xpath
    Selenium学习(Python)
    C++构造函数的选择
    分布式实时处理系统——C++高性能编程
    构建之法(邹欣)
    分布式实时处理系统——通信基础
    go语言-csp模型-并发通道
    redis.conf 配置说明
    Linux fork()一个进程内核态的变化
  • 原文地址:https://www.cnblogs.com/dongmodify/p/13775784.html
Copyright © 2011-2022 走看看