php的bom头会影响格式,phpBOM头(字符#65279;)出现的原因以及解决方法_PHP程序员博客|高蒙个人博客...
// 设定你要清除BOM的根目录(会自动扫描所有子目录和文件)
$HOME = dirname(__FILE__);
// 如果是Windows系统,修改为:$WIN = 1;
$WIN = 0;
?>
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
UTF8 BOM 清除器
body { font-size: 10px; font-family: Arial, Helvetica, sans-serif; background: #FFF; color: #000; }
.FOUND { color: #F30; font-size: 14px; font-weight: bold; }
$BOMBED = array();
RecursiveFolder($HOME);
echo '
These files had UTF8 BOM, but i cleaned them:
';
foreach ($BOMBED as $utf) { echo $utf ."
\n"; }
echo '
';
// 递归扫描
function RecursiveFolder($sHOME) {
global $BOMBED, $WIN;
$win32 = ($WIN == 1) ? "\\" : "/";
$folder = dir($sHOME);
$foundfolders = array();
while ($file = $folder->read()) {
if($file != "." and $file != "..") {
if(filetype($sHOME . $win32 . $file) == "dir"){
$foundfolders[count($foundfolders)] = $sHOME . $win32 . $file;
} else {
$content = file_get_contents($sHOME . $win32 . $file);
$BOM = SearchBOM($content);
if ($BOM) {
$BOMBED[count($BOMBED)] = $sHOME . $win32 . $file;
// 移出BOM信息
$content = substr($content,3);
// 写回到原始文件
file_put_contents($sHOME . $win32 . $file, $content);
}
}
}
}
$folder->close();
if(count($foundfolders) > 0) {
foreach ($foundfolders as $folder) {
RecursiveFolder($folder, $win32);
}
}
}
// 搜索当前文件是否有BOM
function SearchBOM($string) {
if(substr($string,0,3) == pack("CCC",0xef,0xbb,0xbf)) return true;
return false;
}
?>
php的bom头会影响格式,phpBOM头(字符#65279;)出现的原因以及解决方法_PHP程序员博客|高蒙个人博客...相关推荐
- “存储为Web所用格式”命令是灰色不可用的原因和解决方法
内容提要:文章介绍"存储为Web所用格式"命令是灰色不可用的原因和解决方法.学习 PS教程请加PS学习交流群:142574315 Q:今天群里有人咨询"存储为Web所用格 ...
- Java读取UTF-8格式txt文件第一行出现乱码及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法(转载)...
原文地址:http://blog.csdn.net/jackpk/article/details/5702964/ Java读取UTF-8的txt文件第一行出现乱码"?"及解决 t ...
- Java读带有BOM的UTF-8文件乱码原因及解决方法(转)
转载:http://www.linuxidc.com/Linux/2012-12/76707.htm 最近在处理文件时发现了同样类型的文件使用的编码可能是不同的.所以想将文件的格式统一一下(因为UTF ...
- Java读带有BOM的UTF-8文件乱码原因及解决方法
Java读带有BOM的UTF-8文件乱码原因及解决方法 Java读带有BOM的UTF-8文件乱码原因及解决方法 - daimojingdeyu - ITeye技术网站 Java读带有BOM的UTF-8 ...
- u盘被分区之后怎么合并linux,U盘格式化做启动盘后从16GB变成200MB的解决方法
之前使用U盘安装Linux时使用一个16GB的SanDisk U盘做了Linux系统的启动盘.想用这个U盘来给Windows 10做安装盘的时候突然发现这个U盘在Windows下可见空间只有200M了 ...
- javah导出类的头文件抛出异常——java.lang.IllegalArgumentException: Not a valid class name(原因及解决方法)
[0]README 0.1) 本文旨在给出 java.lang.IllegalArgumentException 异常的原因 和 处理方法, 该异常和 javah 没有半毛钱关系 : 0.2) 本文附 ...
- php der格式 证书,php读取der格式证书乱码解决方法_PHP教程
php读取der格式证书乱码解决方法 这篇文章主要介绍了php读取der格式证书乱码解决方法的相关资料,需要的朋友可以参考下 遇到的问题: 我的项目需要用到应用der格式的证书公钥及RSA算法来验签相 ...
- js赋值改变后原来的东西也改变了,影响了好几个其它使用同一个源数据的原因以及解决方法
[原因]:数组赋值目测在php/js这两种语言中的赋值都是应用传递(所谓引用传递就是所谓的赋值其就是共享同一个地址),一般的字串整型等数据类型都是值传递所以不存在这类情况 [解决方法]:在进行数组间赋 ...
- 【UE4】导入FBX格式文件后呈现人物躺着情况的解决方法
问题描述 在Maya中,将fbx文件添加根节点之后导入UE4中,发现动画蓝图呈现躺着情况. 原因是因为Maya中的数轴设置和UE4中有区别,所以会出现下图情况 本篇文章将会介绍如何不通过Maya直接在 ...
最新文章
- python的优点和缺点-python的优点和缺点是什么?
- 【模型训练】SGD的那些变种,真的比SGD强吗
- Windows Azure Tools DSInit Error
- [BZOJ 2243] 染色
- sort,uniq,wc指令简单用法
- gitd mysql_MySQL GTID (一)
- ArcGIS JS API 4 —— GET https://static.arcgis.com/fonts/simsun-regular/37888-38143.pbf 404
- 配置HistoryServer
- qlistwidgetitem itempressed怎么区分左右键_那个帮你把魂斗罗玩通关的男人,去世了!那年暑假的“上上下下左右左右BABA”,你还记得吗?...
- Atitit 资源清理之道与gc之道 gc算法 清理临时表 临时资源 使用的算法类型是 引用计数(reference counting),基于时间过期自动清理资源 1. 3.1. 从各种
- 随笔记--深浅拷贝问题
- word保存不了磁盘已满_【Word技巧】word使用终极技巧,工程人必会(二)
- 银行业会计人员技能训练系统(含文字录入、小键盘、点钞)
- 监视Python程式自动退出,并重新启动程式
- MySQL数据库与身份认证(鉴权)学习、复习笔记
- 认知学习:当代学习理论的主流
- 京东架构师讲解京东是如何优化列表页的
- VMware Ubuntu18.04与WIN7共享目录
- 怎样学习C语言——快速上手C语言系列之—什么是指针
- mac系统共享服务器,mac共享服务器
热门文章
- Java利用Qrcode生成二维码
- 最爱莫乎生命,其次是“你”
- (原创)datagrid数据导出到excel文件给客户端下载的几种方法
- Spring: DispacherServlet和ContextLoaderListener中的WebApplicationContext的关系
- 普通用户 fork报错 fork: retry: No child processes 解决方法
- CloudFlare 免费CDN加速 使用方法
- linux系统 克隆 恢复 Clonezilla 再生龙 使用
- linux shell 统计行数的8种方法
- docker 时间不一致,时区设置
- linux ssh 连接错误 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!