Home > Backend Development > PHP Tutorial > PHP批量清除utf-8文件的bom头

PHP批量清除utf-8文件的bom头

WBOY
Release: 2016-06-20 13:01:19
Original
956 people have browsed it

PHP批量清除utf-8文件的bom头

<?php   
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);   
    }   
   }   
  }   
closedir($dh);   
}   
}   
function checkBOM ($filename) {   
global $auto;   
$contents = file_get_contents($filename);   
$charset[1] = substr($contents, , 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._<a href=http://www.k686.com>http://www.k686.com</a></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);   
}   
?>
Copy after login

保存为一个php文件,放到网站根目录下,可以遍历文件夹并自动清除bom,对文件绝对安全,亲测过的,测试用途见

 

放到网站根目录然后执行一下就OK了,会遍历所有文件
比如http://www.baidu.com/checkbom.php

也可以指定目录执行

比如http://www.baidu.com/checkbom.php?dir=html


Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template