PHP在线清除文件BOM工具

模板网 2014-11-06

在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也是用记事本编辑utf-8编码后执行就会出错的原因了。

下面医疗模板库为大家提供一个PHP在线清除文件BOM工具。打包下载:PHP在线清除文件BOM工具

使用方法:将bom.php上传到网站根目录下,在浏览器中访问即可自动清除文件BOM。

PHP源码:

复制代码 代码如下:
<?php  
/*检测并清除BOM*/   
/*www.120muban.com*/
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);  
 }   
}  
}
}
}
 
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);
}
 
?>

 

相关文章

  1. PHP超好用的整站打包程序 单文件

    给大家推荐一个PHP超好用的整站打包程序 单文件 小巧方便 界面如下: 使用方法: 1、将该程序上传到网站的目录下,如/zip.php ; 2、在浏览器中访问程序 http://www.120muban.com/zip.php ; 3、将出现上图所示界面,可按照提示说明进行相关的操作; 4、点击

  2. sublime下ThinkPHP3.2代码自动补全扩展

    应该有不少人用这个编辑器吧,tp3.2的代码自动补全..周末总结了下.需要的可以使用下,,打开sublime-preferences-浏览插件(按B键也可以吧)-会打开一个文件夹,把附件解压放进去就可以了. 下载: sublime下ThinkPHP3.2代码自动补全扩展 如果模版中不能使用,请修改

  3. PHP获取访客IP代码

    PHP获取访客IP代码,下面是医疗模板库为大家收集整理的获取访客IP的代码: 复制代码 代码如下: ?php function ip() { if(getenv(HTTP_CLIENT_IP) strcasecmp(getenv(HTTP_CLIENT_IP), unknown)) { $ip = getenv(HTTP_CLIENT_IP); } elseif(getenv(HTTP_X_FOR

  4. PHP木马扫描助手

    在服务器上我们有控制权,可以利用第三方软件定期扫描,检测查杀网站入侵木马,但在虚拟主机或国外空间上的网站,需要进行木马检测,为了检查干净,必须打包下载下来后检测,文件压缩包较大时耗时耗力,也不利于优化自行维护操作。 仿照木马扫描原理,结合网

  5. php禁止危险函数

    打开php配置文件php.ini,将以下函数禁用。 disable_functions=assert,phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symli

随机推荐

  1. PHP超好用的整站打包程序 单文件

    给大家推荐一个PHP超好用的整站打包程序 单文件 小巧方便 界面如下: 使用方法: 1、将该程序上传到网站的目录下,如/zip.php ; 2、在浏览器中访问程序 http://www.120muban.com/zip.php ; 3、将出现上图所示界面,可按照提示说明进行相关的操作; 4、点击

  2. sublime下ThinkPHP3.2代码自动补全扩展

    应该有不少人用这个编辑器吧,tp3.2的代码自动补全..周末总结了下.需要的可以使用下,,打开sublime-preferences-浏览插件(按B键也可以吧)-会打开一个文件夹,把附件解压放进去就可以了. 下载: sublime下ThinkPHP3.2代码自动补全扩展 如果模版中不能使用,请修改

  3. PHP获取访客IP代码

    PHP获取访客IP代码,下面是医疗模板库为大家收集整理的获取访客IP的代码: 复制代码 代码如下: ?php function ip() { if(getenv(HTTP_CLIENT_IP) strcasecmp(getenv(HTTP_CLIENT_IP), unknown)) { $ip = getenv(HTTP_CLIENT_IP); } elseif(getenv(HTTP_X_FOR

  4. PHP木马扫描助手

    在服务器上我们有控制权,可以利用第三方软件定期扫描,检测查杀网站入侵木马,但在虚拟主机或国外空间上的网站,需要进行木马检测,为了检查干净,必须打包下载下来后检测,文件压缩包较大时耗时耗力,也不利于优化自行维护操作。 仿照木马扫描原理,结合网

  5. php禁止危险函数

    打开php配置文件php.ini,将以下函数禁用。 disable_functions=assert,phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symli