当前位置: 首页 > 工具软件 > ClearBom > 使用案例 >

clearbom.php,clearbom.php

华振
2023-12-01

/*

* 遍历网站路径,清除 UTF-8格式文件BOM

*

* 在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,

* 现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,

* 这也是用记事本编辑utf-8编码后执行就会出错的原因了。

*

*

*/

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 ("BOM found, automatically removed.");

} else {

return ("BOM found.");

}

} else

return ("BOM Not Found.");

}

function rewrite($filename, $data) {

$filenum = fopen ( $filename, "w" );

flock ( $filenum, LOCK_EX );

fwrite ( $filenum, $data );

fclose ( $filenum );

}

?>

一键复制

编辑

Web IDE

原始数据

按行查看

历史

 类似资料:

相关阅读

相关文章

相关问答