用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 相关文章推荐
通过ICQ网关发送手机短信的PHP源程序
Oct 09 PHP
基于php验证码函数的使用示例
May 03 PHP
PHP set_error_handler()函数使用详解(示例)
Nov 12 PHP
php中convert_uuencode()与convert_uuencode函数用法实例
Nov 22 PHP
php数字每三位加逗号的功能函数
Oct 22 PHP
PHP闭包函数详解
Feb 13 PHP
php远程下载类分享
Apr 13 PHP
PHP和MYSQL实现分页导航思路详解
Apr 11 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
Jul 22 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
PHP实现的策略模式示例
Mar 20 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 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
用Flash图形化数据(二)
2006/10/09 PHP
php getsiteurl()函数
2009/09/05 PHP
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
PHP之header函数详解
2021/03/02 PHP
捕获关闭窗口的脚本
2009/01/10 Javascript
jQuery对象与DOM对象之间的转换方法
2010/04/15 Javascript
一个JavaScript变量声明的知识点
2013/10/28 Javascript
js实现的捐赠管理完整实例
2015/01/20 Javascript
jQuery功能函数详解
2015/02/01 Javascript
jQuery $.each遍历对象、数组用法实例
2015/04/16 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
javascript实现动态统计图开发实例
2015/11/21 Javascript
AngularJS  ng-table插件设置排序
2016/09/21 Javascript
canvas绘制表盘时钟
2017/01/23 Javascript
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
2020/04/01 jQuery
2分钟实现一个Vue实时直播系统的示例代码
2020/06/05 Javascript
[02:42]决战东方!DOTA2亚洲邀请赛重启荣耀之争
2017/03/17 DOTA
python和bash统计CPU利用率的方法
2015/07/10 Python
python实现多线程抓取知乎用户
2016/12/12 Python
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
python调用API实现智能回复机器人
2018/04/10 Python
python 实现倒排索引的方法
2018/12/25 Python
python打印异常信息的两种实现方式
2019/12/24 Python
python生成任意频率正弦波方式
2020/02/25 Python
在python3.64中安装pyinstaller库的方法步骤
2020/06/02 Python
MIS软件工程师的面试题
2016/04/22 面试题
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
商铺租赁意向书
2014/04/01 职场文书
党性心得体会
2014/09/03 职场文书
2014年班干部工作总结
2014/11/25 职场文书
奖学金主要事迹范文
2015/11/04 职场文书
Mysql 一主多从的部署
2022/05/20 MySQL