zoukankan      html  css  js  c++  java
  • 批量去除PHP文件中bom的PHP代码

    今天搜索查看网页源码时为什么开头会有空行这个问题时找到的,批量去除PHP文件中bom的PHP代码
     
     
    需要去除BOM,就把附件里的tool.php文件放到目标目录,然后在浏览器访问tool.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  
    ?>
  • 相关阅读:
    equals(),hashcode(),克隆学习心得
    AOP学习心得&jdk动态代理与cglib比较
    jackson注解使用心得
    rabbitmq使用心得
    web项目存数据到数据库,中文乱码,解决过程
    jdk动态代理学习
    团队作业——随堂小测(同学录)基本完工-紫仪
    alpha-咸鱼冲刺day3-紫仪
    alpha-咸鱼冲刺day2-紫仪
    alpha-咸鱼冲刺day1-紫仪
  • 原文地址:https://www.cnblogs.com/meetrice/p/2750800.html
Copyright © 2011-2022 走看看