Home  >  Article  >  php教程  >  PHP 删除 utf-8 BOM 实例代码

PHP 删除 utf-8 BOM 实例代码

WBOY
WBOYOriginal
2016-06-13 11:36:22687browse

早先的PHP教程中,我们提到过关于用PHP判断文件是否是UTF-8编码(并检查Bom)的例子,今天我们再来实现一下PHP 删除 utf-8 BOM,费话少说直接上代码:

Copy to Clipboard引用的内容:[www.bkjia.com] //查找utf-8 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")."
";
}else{
$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("存在,自动删除.");
} else {
return("不存在");
}
}
else return("不存在");
}

function rewrite($filename, $data) {
$filenum = fopen($filename, "w");
flock($filenum, LOCK_EX);
fwrite($filenum, $data);
fclose($filenum);
}
?>
Statement:
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