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

推荐订阅源

B
Blog
Know Your Adversary
Know Your Adversary
博客园 - 叶小钗
雷峰网
雷峰网
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
量子位
A
About on SuperTechFans
The Register - Security
The Register - Security
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
IT之家
IT之家
博客园 - 聂微东
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
J
Java Code Geeks
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
云风的 BLOG
云风的 BLOG
人人都是产品经理
人人都是产品经理
Hacker News: Ask HN
Hacker News: Ask HN
T
The Exploit Database - CXSecurity.com
Vercel News
Vercel News
Stack Overflow Blog
Stack Overflow Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
博客园 - 司徒正美
NISL@THU
NISL@THU
V2EX - 技术
V2EX - 技术
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Schneier on Security
Schneier on Security
博客园 - 三生石上(FineUI控件)
T
The Blog of Author Tim Ferriss
AWS News Blog
AWS News Blog
The GitHub Blog
The GitHub Blog
C
Cisco Blogs
T
Tenable Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
V
Vulnerabilities – Threatpost
美团技术团队
L
LangChain Blog
Google DeepMind News
Google DeepMind News
腾讯CDC
P
Privacy International News Feed
Spread Privacy
Spread Privacy
D
DataBreaches.Net
Engineering at Meta
Engineering at Meta
S
Security @ Cisco Blogs

博客园 - 苔苔以苔苔以苔

笔记本连接无线网络,提示受限 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); 
     } 
?>