时时商务社区
标题:
PHP批量删除、清除UTF-8文件BOM头的代码实例
[打印本页]
作者:
yj1281
时间:
2018-2-14 05:59
记得运行代码前先把文件备份一下哦,避免出现失败问题。
代码一:
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批量删除操作(数据访问)
欢迎光临 时时商务社区 (http://bbs.4435.cn/)
Powered by Discuz! X3.2