惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
Jina AI
Jina AI
雷峰网
雷峰网
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
美团技术团队
V
V2EX
酷 壳 – CoolShell
酷 壳 – CoolShell
小众软件
小众软件
博客园 - Franky
博客园 - 三生石上(FineUI控件)
月光博客
月光博客
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
爱范儿
爱范儿
Hugging Face - Blog
Hugging Face - Blog
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
Apple Machine Learning Research
Apple Machine Learning Research
量子位
IT之家
IT之家
人人都是产品经理
人人都是产品经理
博客园_首页
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

博客园 - 苔苔以苔苔以苔

笔记本连接无线网络,提示受限 js中typeof(var) !==和typeof(var) !=的区别 【已验证】帝国cms 里 栏目列表模板获取同级栏目 mysql如何修改导入数据库文件大小限制 错误分析及解决办法---MySQL server has gone away IIS支持flv文件,或者映射其他扩展名到指定的文件类型 qq登录整合帝国cms+ucenter后会提示用户名不合法 JQuery使用getJSON跨域调用数据 php中删除超链接的正则表达式 MySql中distinct的用法 更改表自动递增值的sql win2003系统+IIS6下,经常出现w3wp.exe和sqlserver.exe的内存占用居高不下 JS中Null与Undefined的区别 如何添加修改uchome创始人 忘记Ucenter创始人密码的最快速解决方法 因为做QQ登录用到session,没想就报错了 匹配中文字符的正则表达式 MySQL字符串相加函数如何运行?似曾相识还是记一笔吧 js获取当前域名及当前页面网址
删除文件bom的php代码
苔苔以苔苔以苔 · 2012-05-10 · via 博客园 - 苔苔以苔苔以苔

php程序放到服务器上,其它都正常了,在调用xml数据时,FF下测试正常,但在IE下出错,每次显示出来的长度不一样,httpwatch抓包看了一下正常,看来服务器上的内容是正常的。

问题分析:猜测原因:汉字造成的?但马上被否定了,因为纯xml文件上传到服务器上,CDATA中有汉字,也能正常显示

分析结果:最后发现,原来是bom造成的

下面是去掉BOM的代码:

//remove the utf-8 boms   
//by magicbug at gmail dot com   

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); 
     } 
?>