|
记得运行代码前先把文件备份一下哦,避免出现失败问题。
代码一:
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.");
}
代码二:
代码三:
##把该文件放在需求去除BOM头的目录下跑一下却可。
二、Python
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import os
def delBOM():
file_count = 0
bom_files = []
for dirpath, dirnames, filenames in os.walk('.'):
if(len(filenames)):
for filename in filenames:
file_count += 1
file = open(dirpath + "/" + filename, 'r+')
file_contents = file.read()
if(len(file_contents) > 3):
if(ord(file_contents[0]) == 239 and ord(file_contents[1]) == 187 and ord(file_contents[2]) == 191):
bom_files.append(dirpath + "/" + filename)
file.seek(0)
file.write(file_contents[3:])
print bom_files[-1], "BOM found. Deleted."
file.close()
print file_count, "file(s) found.", len(bom_files), "file(s) have a bom. Deleted."
if __name__ == "__main__":
delBOM()
为了方便大家使用,这里脚本之家小编分享一个BOM工具方便大家检测。
下载地址:http://www.jb51.net/softs/496779.html
您可能感兴趣的文章:php批量删除数据PHP 批量删除 sql语句PHP 批量删除数据的方法分析php中批量删除Mysql中相同前缀的数据表的代码ThinkPHP实现批量删除数据的代码实例php批量删除数据库下指定前缀的表以prefix_为例php批量删除cookie的简单实现方法基于ThinkPHP实现批量删除thinkphp框架实现删除和批量删除php批量删除操作(数据访问)
|
|