批量清除BOM头
标签:
杂谈 |
- <?php
- if (isset ( $_GET ['dir'] )) { //config the basedir
- $basedir = $_GET ['dir'];
- } else {
- $basedir = '.';
- }
- $auto = 1;
- checkdir ( $basedir );
- function checkdir($basedir) {
- if ($dh = opendir ( $basedir )) {
- while ( ($file = readdir ( $dh )) !== false ) {
- if ($file != '.' && $file != '..') {
- if (! is_dir ( $basedir . "/" . $file )) { // 如果是文件
- echo "filename: $basedir/$file " . checkBOM ( "$basedir/$file" ) . " <br>";
- } else {
- $dirname = $basedir . "/" .$file; // 如果是目录
- checkdir ( $dirname ); // 递归
- }
- }
- }
- closedir ( $dh );
- }
- }
- function checkBOM($filename) {
- global $auto;
- $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) { // BOM 的前三个字符的ASCII 码分别为 239 187 191
- if ($auto == 1) {
- $rest = substr ( $contents, 3 );
- rewrite ( $filename, $rest );
- return ("<font color=red>BOM found, automatically removed.</font>");
- } else {
- return ("<font color=red>BOM found.</font>");
- }
- } else
- return ("BOM Not Found.");
- }
- function rewrite($filename, $data) {
- $filenum = fopen ( $filename, "w" );
- flock ( $filenum, LOCK_EX );
- fwrite ( $filenum, $data );
- fclose ( $filenum );
- }
批量清除BOM头的更多相关文章
- php 批量检测bom头,去除bom头工具
<?php //有些php文件由于不小心保存成了含bom头的格式而导致出现一系列的问题.以下是批量清除bom头的代码 if (isset ( $_GET ['dir'] )) { //confi ...
- Linux下查找包含BOM头的文件和清除BOM头命令 2014-08-16 12:30:50
Linux下查找包含BOM头的文件和清除BOM头命令 2014-08-16 12:30:50 分类: 系统运维 查找包含BOM头的文件,命令如下: 点击(此处)折叠或打开 grep -r -I -l ...
- 批量去BOM头 遍历目录及子文件,文件夹 PHP源码
任意php文件,把最后一行替换成自己的目录 即可 <?php class KillBom { public static $m_Ext = ['txt', 'php', 'js', 'c ...
- linux下查找包含BOM头的文件和清除BOM头命令
查找包含BOM头的文件,命令如下: grep -r -I -l $'^\xEF\xBB\xBF' ./ 这条命令会查找当前目录及子目录下所有包含BOM头的文件,并把文件名在屏幕上输出. 但 ...
- Linux 查找bom头文件,清除bom头命令
1.查找bom头文件 grep -r -I -l $'^\xEF\xBB\xBF' ./ 2.替换bom头文件 find . -type f -exec sed -i 's/\xEF\xBB\xBF/ ...
- 清除BOM头源码
BOM: Byte Order Mark UTF-8 BOM又叫UTF-8 签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支援UTF-16,UTF-32才加上的BOM,BOM签名的意思就是 ...
- PHP批量去除bom头代码的小工具
在 aitecms 群里有网友抱怨了好几天说本地的验证码一直无法显示,后来听说解决了,问其如何解决的,说是去除了文件 bom 就好了.后来百度到一篇文章也说 dedecms 的验证码不能显示,某次解决 ...
- php批量检测和去掉bom头(转)
<?php //有些php文件由于不小心保存成了含bom头的格式而导致出现一系列的问题.以下是批量清除bom头的代码 if (isset ( $_GET ['dir'] )) { //confi ...
- 什么是BOM头,BOM头有什么影响,怎么去掉BOM头
什么是bom头? 在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也 ...
随机推荐
- MySQL常用的自带函数
MySQL自带函数十分丰富,合理使用可以减少很多编码工作. >>数学函数 数学函数主要用于处理数字,包括整型.浮点数等.数学函数包括绝对值函数.正弦函数.余弦函数.获取随机数的函数等.AB ...
- typedef用法
参考文章:http://www.cnblogs.com/shenlian/archive/2011/05/21/2053149.html
- C#学习笔记(四)——变量的更多内容
一.类型转换 1.转换的类型 2.隐式转换 bool 和string 没有隐式转换,具有隐式转换的都列在下面的表格 . 记住一个规律,就是由精度低的类型转到精度高的类型是很容易的. 3.显式转换 (1 ...
- SU Demos 03T-F Analysis-03Suphasevel
不足之处,欢迎批评指正. 1.先看readme,共有3个脚本. 第1个脚本用到的模型文件. 2.第1个脚本 运行结果 3.第2个脚本 4.第3个脚本
- js:语言精髓笔记9--函数式语言特征
形式化运算系统的研究: 图灵:提出图灵机形式系统,通过0,1运算系统来解决复杂问题: 冯诺依曼:提出了冯诺依曼体系:即通过修改内存反映运算结果: 阿隆左.丘奇:提出新的运算范型Lambda演算,计算机 ...
- 解决Fiddler无法抓到手机的会话包
解决Fiddler无法抓到手机的会话包 使用Fiddler抓手机的会话包涉及多个方面,所以容易出现无法抓取包的情况.遇到这类问题,需要按照以下顺序进行检查和排除. (1)在Fiddler中设置 ...
- 海贼王之——梦想音乐
相信和很多海粉一样,对伙伴的关照和战斗,是相当地震撼. 好东西时不时地听一下,然后感受那种刷新全身表层细胞,触电...: 音乐链接: http://v.youku.com/v_show/i ...
- Hadoop虽然强大,但不是万能的(CSDN)
Hadoop很强大,但企业在使用Hadoop或者大数据之前,首先要明确自己的目标,再确定是否选对了工具,毕竟Hadoop不是万能的!本文中列举了几种不适合使用Hadoop的场景. 随着 Hadoop ...
- JS设计模式一:单例模式
单例模式 单例模式也称作为单子模式,更多的也叫做单体模式.为软件设计中较为简单但是最为常用的一种设计模式. 下面是维基百科对单例模式的介绍: 在应用单例模式时,生成单例 ...
- RN组件之ToolbarAndroid
一.ToolbarAndroid 1.该组件封装了Android平台中的ToolBar组件(只适用于Android平台).一个ToolBar组件可以显示一个Logo图标 以及一些导航图片(例如:菜单功 ...
转载▼