找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 62|回复: 0
打印 上一主题 下一主题

PHP批量删除、清除UTF-8文件BOM头的代码实例

[复制链接]

2487

主题

2487

帖子

7391

积分

论坛元老

Rank: 8Rank: 8

积分
7391
跳转到指定楼层
楼主
发表于 2018-2-14 05:59:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            记得运行代码前先把文件备份一下哦,避免出现失败问题。
代码一:

  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批量删除操作(数据访问)
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端