<?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.</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);??
}??
?>