批量去除PHP文件中bom的PHP代码

2015-01-24信息快讯网

今天搜索查看网页源码时为什么开头会有空行这个问题时找到的,批量去除PHP文件中bom的PHP代码

需要去除BOM,就把附件里的tool.php文件放到目标目录,然后在浏览器访问tool.php即可!
 
<?php 
//此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除 
$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) { 
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) { 
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); 
} 
?> 

PHP批量去除PHP文件中bom的代码
 
<?php 
if (isset($_GET['dir'])){ //设置文件目录 
$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) { 
if ($auto == 1) { 
$rest = substr($contents, 3); 
rewrite ($filename, $rest); 
return ("<font color=red>BOM found, automatically removed._<a href=http://www.joyphper.net>http://www.joyphper.net</a></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); 
} 
?> 
深入解析PHP的引用计数机制
深入解析PHP垃圾回收机制对内存泄露的处理
解析php中两种缩放图片的函数,为图片添加水印
PHP操作Memcache实例介绍
解析PHP处理换行符的问题 \r\n
php读取二进制流(C语言结构体struct数据文件)的深入解析
php启用zlib压缩文件的配置方法
joomla jce editor 解决上传中文名文件失败问题
php生成zip压缩文件的方法详解
探讨PHP删除文件夹的三种方法
解析php DOMElement 操作xml 文档的实现代码
php简单开启gzip压缩方法(zlib.output_compression)
php中DOMElement操作xml文档实例演示
将博客园(cnblogs.com)数据导入到wordpress的代码
检查php文件中是否含有bom的函数
ecshop 批量上传(加入自定义属性)
TMDPHP 模板引擎使用教程
Notice: Trying to get property of non-object problem(PHP)解决办法
PHP图片处理类 phpThumb参数用法介绍
PHPThumb PHP 图片缩略图库
php中使用cookie来保存用户登录信息的实现代码
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
JS中encodeURIComponent函数用php解码的代码
PHP中获取文件扩展名的N种方法小结
php中取得文件的后缀名?
php 文本文件的读取效率
php+iframe实现隐藏无刷新上传文件
win2003服务器使用WPS的COM组件的一些问题解决方法
php通过COM类调用组件的实现代码
关于IIS php调用com组件的权限问题
Uncaught exception com_exception with message Failed to create COM object
php UTF-8、Unicode和BOM问题
©2014-2024 dbsqp.com