·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> php网站开发 >> 去除文件BOM头工具

去除文件BOM头工具

作者:佚名      php网站开发编辑:admin      更新时间:2022-07-23
去除文件BOM头工具
<?php/** * 用法:复制以下代码至新建的php文件中,将该php文件放置项目目录,运行即可。代码来源于网络。 * chenwei 注。 */header('content-Type: text/html; charset=utf-8');$auto=1;/* 设置为1标示检测BOM并去除,设置为0标示只进行BOM检测,不去除 */$basedir='.';$loop=true;echo '当前查找的目录为:'.$basedir.'当前的设置是:';echo '(1)',$loop?'检查当前目录以及当前目录的子目录':'只针对当前目录进行检测';echo '(2)',$auto?'检测文件BOM同时去除检测到BOM文件的BOM<br />':'只检测文件BOM不执行去除BOM操作<br />';checkdir($basedir,$loop);function checkdir($basedir='',$loop=true){    $basedir=empty($basedir)?'.':$basedir;    if($dh=opendir($basedir)){        while (($file=readdir($dh))!==false){            if($file!='.'&&$file!='..'){                if(!is_dir($basedir.'/'.$file)){                    echo '文件: '.$basedir.'/'.$file .checkBOM($basedir.'/'.$file).' <br>';                }else{                    if(!$loop) continue;                    $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并已自动去除</font>');        }else{            return (' <font color=red>找到BOM</font>');        }    }else{        return (' 没有找到BOM');    }}function rewrite($filename,$data){    $filenum=fopen($filename,'w');    flock($filenum,LOCK_EX);    fwrite($filenum,$data);    fclose($filenum);}