去掉utf8 bom

原创 2012年03月30日 18:01:56
<?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.</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);   

}   

?>  

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Python读取文件,检测文件编码及去除UTF8 BOM

对于Python来说,什么都好,就是编码问题真是让人头疼。当然,明白原理后自然没什么了,可各种命令行窗口、IDE的实现不同,导致此问题更糟糕。 之前使用的时候,应该是把Python的处理方式搞懂了的,...

CStdioFile的ReadString读入中英文的总结(unicode-ucs2/utf8-无bom/ansi) .

文章讨论的前提:使用ReadString来读取字符串 utfi/ansi情况下,不能使用binary来打开,因为这种模式下,一次按照TCHAR的大小,读取两个字符,结束符号0d的话,需要读取到0x 0...

编码-Windows中UTF8与BOM

编码-Windows中UTF8与BOM

utf8 BOM:EF BB BF

Unicode规范中有一个BOM的概念。BOM——Byte Order Mark,就是字节序标记。在这里找到一段关于BOM的说明:在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK S...

C#写UTF8文件时指定是否含BOM头

BOM的基本概念 在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UC...

CStdioFile的Writestring写入中文的总结(unicode-ucs2/utf8-无Bom/ansi-gb2312)

(参考:http://blog.csdn.net/sun20082567/article/details/8316625 http://blog.csdn.net/gillerr/article/de...

使用PHP批量去除文件UTF8 BOM信息

原理: UTF8文件,微软为了增加一个识别信息,有了BOM这个东西:BOM —— Byte Order Mark,缺省在Windows等平台上编辑的UTF8文件会在头部增加3个字节的标记信息...

解决UTF8+BOM编码xml文件解析异常

话说今天在做文件上传功能的时候,遇到了一个比较恶心的编码问题。这个问题导致dom4j无法解析xml字符串,在网上看了许久发现最简单的方式是用文本编辑器讲编码格式转换成UTF-8,有TX可能不知道,大多...

UTF8-无BOM转为UTF16LE

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)