将下面文件放在网站根目录访问即可,它会遍历当前目录下所有子目录,检测文件是否含有BOM头,并删除BOM头

<?php
//remove the utf-8 boms
//by magicbug at gmail dot com
set_time_limit(0);if (isset($_GET['dir'])){ //config the basedir
$basedir=$_GET['dir'];
}else{
$basedir = '.';
}
$auto = 1;
checkdir($basedir);
function checkdir($basedir){
if ($dh = opendir($basedir)) {while (($file = readdir($dh)) !== false) {if ($file != '.' && $file != '..'){if (!is_dir($basedir."/".$file)) {echo "filename: $basedir/$file ";echo checkBOM("$basedir/$file")." <br>";}else{$dirname = $basedir."/".$file;checkdir($dirname);}}}
closedir($dh);
}
}
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 ("<font color=red>BOM found, automatically removed.</font>");} else {return ("<font color=red>BOM found.</font>");}
}
else return ("BOM Not Found.");
}
function rewrite ($filename, $data) {
$filenum = fopen($filename, "w");
flock($filenum, LOCK_EX);
fwrite($filenum, $data);
fclose($filenum);
}
?>

转载于:https://www.cnblogs.com/lsy-ai/p/6244888.html

检测文件是否有BOM 头,并删除BOM头(php)相关推荐

  1. utf8 bom 去掉 java_utf-8-BOM删除bom

    utf-8  bom,去除bom //开始 function file_bom($wenjian,$remove = true) { //读取文件,将文件写入字符串 $contents = file_ ...

  2. 详解BOM头以及去掉BOM头的方法

    类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM).它是一串隐藏的字符,用于让记事本等编辑器识别 ...

  3. PHP网站设计 ---- 网盘(实现用户注册、登录,文件上传、下载、删除、查看等功能)

    PHP网站设计 ---- 网盘(实现用户注册.登录,文件上传.下载.删除.查看等功能) 运行效果 视频演示 项目下载(在xampp/htdocs/下可以直接运行) 完整项目包.zip 功能要求 当用户 ...

  4. nodeJs实现文件上传,下载,删除

    转:https://blog.csdn.net/qq_36228442/article/details/81709272 一.简介 本文介绍了nodeJs+express框架下,用multer中间件实 ...

  5. python检测文件夹中新增文件_python检测文件夹变化,并拷贝有更新的文件到对应目录的方法...

    检测文件夹,拷贝有更新的文件到对应目录 2016.5.19 亲测可用,若有借鉴请修改下文件路径: 学习python小一个月后写的这个功能,属于初学,若有大神路过,求代码优化~ newcopy.py: ...

  6. php怎么查自己的文件编码,php检测文件编码的方法示例

    关于文件编码的检测,很多人建议 mb_detect_encoding 检测,可是不知为何不成功,什么都没输出.看到有人写了个增强版,用 BOM 判断的,我果断就无视了,这东西完全不靠谱.最终根据PHP ...

  7. 在.NetCore中使用Myrmec检测文件真实格式

    Myrmec 是什么? Myrmec 是一个用于检测文件格式的库,Myrmec不同于其它库或者手写检测代码,Myrmec不依赖文件扩展名(在实际使用中,你的用户很可能使用虚假的扩展名欺骗你的应用程序) ...

  8. php 检测编码函数,自己写了一个php检测文件编码的函数

    关于文件编码的检测,百度一下一大把都是,但是确实没有能用的. 很多人建议 mb_detect_encoding 检测,可是不知为何我这不成功,什么都没输出. 看到有人写了个增强版,用 BOM 判断的, ...

  9. windows .bat脚本检测文件更新,并复制

    最近需要检测文件夹中文件是否更新,然后复制到指定路径 ,使用的是windows  bat脚本 记录一下 ,代码如下 mkdir 001 002 003 004 005 006 007 008 009 ...

最新文章

  1. MathType6.9b安装及在Word2013中无法正常使用的解决方法
  2. LAMP环境搭建之rpm软件包
  3. onvif_discover虚拟摄像头
  4. Android跨屏拖动item,android中如何实现两个listview中的item可以互相拖拽移位?
  5. xvid 数据编码和解码
  6. 2015蓝桥杯省赛---java---A---2(星系炸弹)
  7. 怎么一秒钟给微信头像戴上圣诞帽,我教你啊
  8. 【2018-2019-1】20165223-20165218 实验二 固件程序设计
  9. 计算机主板及其硬件图,[计算机硬件及网络]intel G43主板电路图.pdf
  10. knn算法python代码识别手写数字_python使用KNN算法识别手写数字
  11. 详解阿里云第六代增强型实例,性能强劲,百万IOPS加持
  12. 终于更新了!利用黎曼几何分析EEG脑电信号(三)
  13. list object has no attribute ZScan_【恋爱体验】No.112丨大二男生,河南南阳,身高178,喜欢篮球、羽毛球、兵乓球、足球.........
  14. 卷积神经网络西储大学轴承故障诊断(基于时频变换)
  15. 数据湖与数据仓库的新未来:阿里提出湖仓一体架构
  16. 港科夜闻|香港科大冯雁教授专访:人工智能的发展不能脱离人本
  17. 使用socket.io实现强制踢出其他在线账号
  18. Processor Microarchitecture(Mark D.Hill ):Cache
  19. 关于InstallShield Projects
  20. Win10电脑遇到DistributedCOM错误10016怎么解决?【系统天地】

热门文章

  1. Xcode 创建自定义模板
  2. C Primer Plus 第9章 函数 9.4 多源代码文件程序的编译
  3. JavaScript实现的List(集合)类
  4. 容斥 - HDU 4135 Co-prime
  5. 为长篇文档快速创建目录
  6. python 面试题(1)--- python模块
  7. python星空代码_用python画星空源代码是什么?
  8. 如何开始ChickTech章节
  9. linus为什么开源_Linus Torvalds谈个性崇拜,美国最好的开源学校等等
  10. JS模块化(立即执行函数)