开发者社区> ap0581w9c> 正文

批量去除PHP文件中bom的PHP代码

简介: 今天搜索查看网页源码时为什么开头会有空行这个问题时找到的,批量去除PHP文件中bom的PHP代码     需要去除BOM,就把附件里的tool.php文件放到目标目录,然后在浏览器访问tool.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  
?>

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
php : 无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
php : 无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
239 0
linux 批量 kill php 进程
linux 批量 kill php 进程
15 0
PHP 中获取远程文件的三种方法
PHP 中获取远程文件的三种方法
46 0
PHP包含远程文件,PHP执行远程文件,PHP引入远程文件
PHP包含远程文件,PHP执行远程文件,PHP引入远程文件
63 0
php curl指定ip,php curl请求忽略本地host文件,php curl请求跳过本地host文件
php curl指定ip,php curl请求忽略本地host文件,php curl请求跳过本地host文件
59 0
php-获取txt文件内容并转换成数组
php-获取txt文件内容并转换成数组
33 0
php-读取excel文件
php-读取excel文件
49 0
文件bom头,文件bom头保存的什么东西,php读取bom头数据
文件bom头,文件bom头保存的什么东西,php读取bom头数据
20 0
跨域的本质-引入外部 php 文件| 学习笔记
快速学习跨域的本质-引入外部 php 文件。
42 0
PHP 的基础语法 _php 文件的执行原理| 学习笔记
快速学习 PHP 的基础语法 _php 文件的执行原理。
40 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
PHP安全开发_从白帽角度做安全
立即下载
PHP在机器学习上的应用及云深度学习平台的架构设计与实现
立即下载
PHP与APM_技术内幕和最佳实践
立即下载
相关实验场景
更多