用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 相关文章推荐
GD输出汉字的函数的分析
Oct 09 PHP
国外PHP程序员的13个好习惯小结
Feb 20 PHP
基于php socket(fsockopen)的应用实例分析
Jun 02 PHP
php阻止页面后退的方法分享
Feb 17 PHP
PHP防止post重复提交数据的简单例子
Jun 07 PHP
php5.3以后的版本连接sqlserver2000的方法
Jul 28 PHP
使用php-timeit估计php函数的执行时间
Sep 06 PHP
php简单创建zip压缩文件的方法
Apr 30 PHP
php的api数据接口书写实例(推荐)
Sep 22 PHP
thinkphp分页集成实例
Jul 24 PHP
基于Laravel5.4实现多字段登录功能方法示例
Aug 11 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
Nov 24 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
融入意大利的咖啡文化
2021/03/03 咖啡文化
网页的分页下标生成代码(PHP后端方法)
2016/02/03 PHP
Laravel登录失败次数限制的实现方法
2020/08/26 PHP
javascript 类方法定义还是有点区别
2009/04/15 Javascript
Google Map Api和GOOGLE Search Api整合实现代码
2009/07/18 Javascript
JS控制阿拉伯数字转为中文大写示例代码
2013/09/04 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
jQuery 选择器详解
2015/01/19 Javascript
javaScript基础语法介绍
2015/02/28 Javascript
js改变embed标签src值的方法
2015/04/10 Javascript
JS得到当前时间的方法示例
2017/03/24 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
微信小程序实现星级评价效果
2018/12/28 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
深入分析python中整型不会溢出问题
2018/06/18 Python
Python反爬虫技术之防止IP地址被封杀的讲解
2019/01/09 Python
python实现PID算法及测试的例子
2019/08/08 Python
python数据分析:关键字提取方式
2020/02/24 Python
Python+appium框架原生代码实现App自动化测试详解
2020/03/06 Python
pycharm解决关闭flask后依旧可以访问服务的问题
2020/04/03 Python
python Canny边缘检测算法的实现
2020/04/24 Python
百联网上商城:i百联
2017/01/28 全球购物
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
美国女士时尚珠宝及配饰购物网站:Icing
2018/07/02 全球购物
西部世纪面试题
2014/12/05 面试题
如何用Python输出一个Fibonacci数列
2016/08/28 面试题
建筑工程技术应届生自荐信
2013/09/27 职场文书
最新的咖啡店创业计划书
2013/12/30 职场文书
财务总监管理职责范文
2014/03/09 职场文书
安全目标责任书
2014/07/22 职场文书
教师党员承诺书2015
2015/01/21 职场文书
校车司机安全责任书
2015/05/11 职场文书
员工安全责任协议书
2016/03/22 职场文书