clearbom.php,clearbom.php

/*

* 遍历网站路径,清除 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

原始数据

按行查看

历史

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值