用PHP去掉文件头的Unicode签名(BOM)方法


Posted in PHP onJune 22, 2017

废话不多说,直接上代码

<?php

//此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除

//By Bob Shen

$basedir="."; //修改此行为需要检测的目录,点表示当前目录

$auto=1; //是否自动移除发现的BOM信息。1为是,0为否。

//以下不用改动

if ($dh = opendir($basedir)) {

while (($file = readdir($dh)) !== false) {

if ($file!='.' && $file!='..' && !is_dir($basedir."/".$file)) echo "filename: $file ".checkBOM("$basedir/$file")." <br>";

}

closedir($dh);

}

function checkBOM ($filename) {

$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) {
$rest=substr($contents, 3);
rewrite ($filename, $rest);
return true;
}
else return ("BOM Not Found.");
}

function rewrite ($filename, $data) {
$filenum=fopen($filename,"w");
flock($filenum,LOCK_EX);
fwrite($filenum,$data);
fclose($filenum);
}

?>

以上这篇用PHP去掉文件头的Unicode签名(BOM)方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php中常用的预定义变量小结
May 09 PHP
Could not load type System.ServiceModel.Activation.HttpModule解决办法
Dec 29 PHP
基于Zend的Config机制的应用分析
May 02 PHP
php实现mysql封装类示例
May 07 PHP
php使用指定编码导出mysql数据到csv文件的方法
Mar 31 PHP
php随机显示指定文件夹下图片的方法
Jul 13 PHP
简单介绍PHP的责任链编程模式
Aug 11 PHP
php检查页面是否被百度收录
Oct 28 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
Nov 28 PHP
PHP生成(支持多模板)二维码海报代码
Apr 30 PHP
Laravel模糊查询区分大小写的实例
Sep 29 PHP
php中try catch捕获异常实例详解
Aug 06 PHP
PHP简单装饰器模式实现与用法示例
Jun 22 #PHP
PHP实现的简单适配器模式示例
Jun 22 #PHP
php smtp实现发送邮件功能
Jun 22 #PHP
php实现页面纯静态的实例代码
Jun 21 #PHP
详解php实现页面静态化原理
Jun 21 #PHP
PHP实现的观察者模式实例
Jun 21 #PHP
PHP构造二叉树算法示例
Jun 21 #PHP
You might like
php动态生成JavaScript代码
2009/03/09 PHP
PHPEXCEL 使用小记
2013/01/06 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
2019/07/09 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2007/02/15 Javascript
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
JavaScript/jQuery 表单美化插件小结
2012/02/14 Javascript
jQuery点击后一组图片左右滑动的实现代码
2012/08/16 Javascript
js有序数组的连接问题
2013/10/01 Javascript
JavaScript改变CSS样式的方法汇总
2015/05/07 Javascript
JavaScript实现添加、查找、删除元素
2015/07/02 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
jQuery实现点击查看大图并以弹框的形式居中
2016/08/08 Javascript
JavaScript中的call和apply的用途以及区别
2017/01/11 Javascript
React 组件转 Vue 组件的命令写法
2018/02/28 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
为vue项目自动设置请求状态的配置方法
2019/06/09 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
微信小程序间使用navigator跳转传值问题实例分析
2020/03/27 Javascript
Python读取Excel的方法实例分析
2015/07/11 Python
Python实现JSON反序列化类对象的示例
2018/01/31 Python
Python代码太长换行的实现
2019/07/05 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
浅谈Python中的生成器和迭代器
2020/06/19 Python
荷兰在线啤酒店:Beerwulf
2019/08/26 全球购物
C,C++的几个面试题小集
2013/07/13 面试题
劲霸男装广告词
2014/03/21 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
募捐倡议书怎么写
2014/05/14 职场文书
销售人员求职信
2014/07/22 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
2014年行政部工作总结
2014/11/19 职场文书
房屋租房协议书范本
2014/12/04 职场文书
元旦晚会主持词开场白
2015/05/28 职场文书
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android