用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 图片上传类代码
Jul 17 PHP
php操作sqlserver关于时间日期读取的小小见解
Nov 29 PHP
解析strtr函数的效率问题
Jun 26 PHP
浅析php过滤html字符串,防止SQL注入的方法
Jul 02 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
Jun 10 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
Dec 25 PHP
php组合排序简单实现方法
Oct 15 PHP
降低PHP Redis内存占用
Mar 23 PHP
关于PHP通用返回值设置方法
Mar 31 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
thinkphp中的多表关联查询的实例详解
Oct 12 PHP
php从数据库中获取数据用ajax传送到前台的方法
Aug 20 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和mysql中uft-8中文编码乱码的几种解决办法
2012/04/19 PHP
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
2013/12/25 PHP
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
2007/04/20 Javascript
获取网站跟路径的javascript代码(站点及虚拟目录)
2009/10/20 Javascript
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2010/02/04 Javascript
javaScript checkbox 全选/反选及批量删除
2010/04/28 Javascript
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
2010/08/05 Javascript
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
JavaScript对IE操作的经典代码(推荐)
2014/03/10 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
浅谈jQuery添加的HTML,JS失效的问题
2016/10/05 Javascript
js将table的每个td的内容自动赋值给其title属性的方法
2016/10/13 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
详解vue 组件之间使用eventbus传值
2017/10/25 Javascript
layui前端框架之table表数据的刷新方法
2018/08/17 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
2019/04/30 Javascript
微信小程序如何获取地址
2019/12/24 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
解决vue项目打包上服务器显示404错误,本地没出错的问题
2020/11/03 Javascript
[54:15]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第二场2月1日
2021/03/11 DOTA
Python中shutil模块的学习笔记教程
2017/04/04 Python
Python numpy实现数组合并实例(vstack,hstack)
2018/01/09 Python
Python如何爬取实时变化的WebSocket数据的方法
2019/03/09 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
PyQt5显示GIF图片的方法
2019/06/17 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
html5 canvas实现圆形时钟代码分享
2013/12/25 HTML / CSS
Needle & Thread官网:英国仙女品牌
2018/01/13 全球购物
如何在Cookie里面保存Unicode和国际化字符
2013/05/25 面试题
师范应届生语文教师求职信
2013/10/29 职场文书
商务助理岗位职责
2013/11/13 职场文书
张家口市高新区党工委群众路线教育实践活动整改方案
2014/10/25 职场文书
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript