废话不多说,直接上代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
<?php
//此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除
//By Bob Shen
$basedir = "." ; //修改此行为需要检测的目录,点表示当前目录
$auto =1; //是否自动移除发现的BOM信息。1为是,0为否。
//以下不用改动
if ( $dh = opendir( $basedir )) {
while (( $file = readdir( $dh )) !== false) {
if ( $file != '.' && $file != '..' && ! is_dir ( $basedir . "/" . $file )) echo "filename: $file " .checkBOM( "$basedir/$file" ). " <br>" ;
}
closedir ( $dh );
}
function checkBOM ( $filename ) {
$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) {
$rest = substr ( $contents , 3);
rewrite ( $filename , $rest );
return true;
}
else return ( "BOM Not Found." );
}
function rewrite ( $filename , $data ) {
$filenum = fopen ( $filename , "w" );
flock ( $filenum ,LOCK_EX);
fwrite( $filenum , $data );
fclose( $filenum );
}
?>
|
以上这篇用PHP去掉文件头的Unicode签名(BOM)方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。