下面是有bom的编码文件
区别就是一个utf8+
<?
02.
//此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除
03.
//By Bob Shen
04.
05.
$basedir
=
"."
;
//修改此行为需要检测的目录,点表示当前目录
06.
$auto
=1;
//是否自动移除发现的BOM信息。1为是,0为否。
07.
08.
//以下不用改动
09.
10.
if
(
$dh
= opendir(
$basedir
)) {
11.
while
((
$file
= readdir(
$dh
)) !== false) {
12.
if
(
$file
!=
'.'
&&
$file
!=
'..'
&& !
is_dir
(
$basedir
.
"/"
.
$file
))
echo
"filename: $file "
.checkBOM(
"$basedir/$file"
).
" <br>"
;
13.
}
14.
closedir
(
$dh
);
15.
}
16.
17.
function
checkBOM (
$filename
) {
18.
global
$auto
;
19.
$contents
=
file_get_contents
(
$filename
);
20.
$charset
[1]=
substr
(
$contents
, 0, 1);
21.
$charset
[2]=
substr
(
$contents
, 1, 1);
22.
$charset
[3]=
substr
(
$contents
, 2, 1);
23.
if
(ord(
$charset
[1])==239 && ord(
$charset
[2])==187 && ord(
$charset
[3])==191) {
24.
if
(
$auto
==1) {
25.
$rest
=
substr
(
$contents
, 3);
26.
rewrite (
$filename
,
$rest
);
27.
return
(
"<font color=red>BOM found, automatically removed.</font>"
);
28.
}
else
{
29.
return
(
"<font color=red>BOM found.</font>"
);
30.
}
31.
}
32.
else
return
(
"BOM Not Found."
);
33.
}
34.
35.
function
rewrite (
$filename
,
$data
) {
36.
$filenum
=
fopen
(
$filename
,
"w"
);
37.
flock
(
$filenum
,LOCK_EX);
38.
fwrite(
$filenum
,
$data
);
39.
fclose(
$filenum
);
40.
}