用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 相关文章推荐
php5.2时间相差8小时
Jan 15 PHP
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
Jan 06 PHP
php的memcached客户端memcached
Jun 14 PHP
php模板函数 正则实现代码
Oct 15 PHP
深入PHP异步执行的详解
Jun 03 PHP
php多维数组去掉重复值示例分享
Mar 02 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
Jul 08 PHP
php中call_user_func函数使用注意事项
Nov 21 PHP
深入浅出php socket编程
May 13 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
Dec 08 PHP
PHP的介绍以及优势详细分析
Sep 05 PHP
PHP实现腾讯短网址生成api接口实例
Dec 08 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 DOMElement 操作xml 文档的实现代码
2013/05/10 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】
2018/05/29 PHP
从盛大通行证上摘下来的身份证验证js代码
2011/01/11 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
js获取php变量的实现代码
2013/08/10 Javascript
ExtJS4中使用mixins实现多继承示例
2013/12/03 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
js+canvas绘制五角星的方法
2016/01/28 Javascript
原生js实现淘宝购物车功能
2020/06/23 Javascript
jQuery实现的省市联动菜单功能示例【测试可用】
2017/01/13 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
2017/03/23 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
node.js中npm包管理工具用法分析
2020/02/14 Javascript
vue 导出文件,携带请求头token操作
2020/09/10 Javascript
利用Python开发实现简单的记事本
2016/11/15 Python
Selenium chrome配置代理Python版的方法
2018/11/29 Python
pycharm 将python文件打包为exe格式的方法
2019/01/16 Python
python绘制直方图和密度图的实例
2019/07/08 Python
PyTorch使用cpu加载模型运算方式
2020/01/13 Python
Python偏函数Partial function使用方法实例详解
2020/06/17 Python
Python3基于plotly模块保存图片表格
2020/08/03 Python
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
Javascript如何发送一个Ajax请求
2015/01/26 面试题
Linux内核产生并发的原因
2016/11/08 面试题
学期研究性学习个人的自我评价
2014/01/09 职场文书
119消防日活动总结
2014/08/29 职场文书
农行心得体会
2014/09/02 职场文书
2016党校学习心得体会
2016/01/07 职场文书
靠谱准确的求职信
2019/04/02 职场文书
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python
Linux系统下安装PHP7.3版本
2021/06/26 PHP
JavaScript实现两个数组的交集
2022/03/25 Javascript
python单向链表实例详解
2022/05/25 Python