时时商务社区

标题: 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