This article mainly introduces PHP batch removal of BOM header code sharing. This article directly gives the implementation code. The code is relatively simple and easy to understand. , friends in need can refer to it
?
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
|
<🎜>/**<🎜>
<🎜>* Remove BOM header information<🎜>
<🎜>*/<🎜>
<🎜>header("Content-Type:text/html; charset=utf-8");<🎜>
<🎜> <🎜>
<🎜>$auto = 1;<🎜>
<🎜>checkdir("D:wampwwwsales");<🎜>
<🎜>function checkdir($basedir){<🎜>
<🎜>if ($dh = opendir($basedir)) {<🎜>
<🎜>while (($file = readdir($dh)) !== false) {<🎜>
<🎜>if ($file != '.' && $file != '..'){<🎜>
<🎜>if (!is_dir($basedir."/".$file)) {<🎜>
<🎜>echo "File name: $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 and automatically deleted"); } else { return ("BOM found"); } } else return ("No BOM found"); } function rewrite ($filename, $data) { $filenum = fopen($filename, "w"); flock($filenum, LOCK_EX); fwrite($filenum, $data); fclose($filenum); } ?> |