<?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) {
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);
}
?>
分享到:
相关推荐
UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。 Windows就是使用BOM来...
去除bom头小工具,工具使用方法: 选择要遍历的文件夹,输入...勾选ANSI转为UTF-8,则会将相应格式但编码为GB2312,GBK,GB18030的文件转为无BOM的UTF-8文件 请确保文件可写!使用前请做好备份,作者不承担任何法律责任
然后用 GB2UTF81.exe 这个工具批量去掉BOM(源文件格式选 utf8,目标文件也选utf8,去掉 带BOM 的勾,不保留备份,再点 开始处理 即可)。然后把目录复制,覆盖原来的目录文件即可。 注意: 本工具暂时还不支持清除...
清除utf8 bom的Intellij IDEA插件
utf-8,去bom头文件gfgadsfdsa
UTF-8文件批量去除BOM标记,不用再一个一个的删除bom标记了。
NULL 博文链接:https://itsoul.iteye.com/blog/1488513
utfbom 检测BOM并根据需要移除
本工具用于批量去除UTF-8中的BOM标记,批量操作非常省时省力,再不用一个个文件去删除了默认类型为php|html|js|css,多类型可使用|分隔符进行分隔,支持将ANSI文件转为UTF8,建议在去除BOM文件头时,请先做好备份。
去除文件中的BOM头信息. 一些文档工具可以打开再保存为无bom格式,但文件太多就很费力,此工具类可以直接运行,直接输入你要修改的文件夹路径即可,可自由调整文件夹深度,进行子级文件夹读取
VS201X编辑UTF-8编码的HTML文件时,总会在头部添加0xEF, 0xBB, 0xBF 三字节的BOM符,影响了HTML的正常解析,可以使用Fix File Encoding插件将其去除。
能够批量对文件夹下的代码文件去除UTF-8 BOM头,还能对ASNI文件批量转换为UTF-8
拆箱从文件中删除 UTF-8 BOM 标记的工具。为什么UTF-8 BOM 在常见情况下有问题且无用。 许多工具不支持 BOM 标记; 例如命令行差异工具。 支持 UTF-8 的工具,无论如何都支持它而无需标记。 除了使我们的差异输出令...
utf-8的文件有bom和无bom的保存形式,有些情况下可能需要去掉bom,就是文件开头的;软件通过BOM来识别这个文件是否是UTF-8编码,很多软件还要求读入的文件必须带BOM。可 是,还是有很多软件不能识别BOM
什么是BOM头?如何去除文件中的BOM头 删除文件中的BOM头,使文件变成正常的UTF8文件
去除BOM头小工具-批量转换utf-8;eclipse项目导入到idea时,可以批量去除bom
批量去除文件夹下所有文本文件的bom,解决 stray '\357' in program stray '\273' in program stray '\277' in program 的问题。解决网络传输传递BOM头的问题,不再会有EF BB BF字符了。
解决不能在VC6/VC2005下跟踪调试sqlite3.c的问题,详见:http://blog.csdn.net/liigo/archive/2008/12/10/3492094.aspx。 去除了前一次上传的资源中的UTF-8的BOM,可以在VC6中直接使用。
如果PHP文件头部包含BOM信息,就会输出一个空白,在很多时候会带来问题,比如我们session无法工作、cookie无法设置等等问题