这篇文章主要介绍了关于php 批量去除项目文件bom头的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
1 <?php
2 if (isset($_GET['dir'])) { //设置文件目录
3 $basedir = $_GET['dir'];
4 } else {
5 $basedir = '.';
6 }
7
8 $auto = 1;
9 checkdir($basedir);
10
11 function checkdir($basedir)
12 {
13 if ($dh = opendir($basedir)) {
14 while (($file = readdir($dh)) !== false) {
15 if ($file != '.' && $file != '..') {
16 if (!is_dir($basedir . "/" . $file)) {
17 echo "filename: $basedir/$file " . checkBOM("$basedir/$file") . " <br>";
18 } else {
19 $dirname = $basedir . "/" . $file;
20 checkdir($dirname);
21 }
22 }
23 }
24 closedir($dh);
25 }
26 }
27
28 function checkBOM($filename)
29 {
30 global $auto;
31 $contents = file_get_contents($filename);
32 $charset[1] = substr($contents, 0, 1);
33 $charset[2] = substr($contents, 1, 1);
34 $charset[3] = substr($contents, 2, 1);
35 if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) {
36 if ($auto == 1) {
37 $rest = substr($contents, 3);
38 rewrite($filename, $rest);
39 return ("<font color='red'>BOM found, automatically removed.</font>");
40 } else {
41 return ("<font color='red'>BOM found.</font>");
42 }
43 } else
44 return ("BOM Not Found.");
45 }
46
47 function rewrite($filename, $data)
48 {
49 $filenum = fopen($filename, "w");
50 flock($filenum, LOCK_EX);
51 fwrite($filenum, $data);
52 fclose($filenum);
53 }
54
55 ?>以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
立即学习“PHP免费学习笔记(深入)”;
以上就是php 批量去除项目文件bom头的方法的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号