递归删除utf8文件的bom头(该bom头可能导致php产生意外输出)

  1. //EF BB BF这三个字节称为bom头  
  2. function hasbom(&$content) {  
  3.     $firstline = $content[0];  
  4.     return ord(substr($firstline, 0, 1)) === 0xEF  
  5.         and ord(substr($firstline, 1, 1)) === 0xBB   
  6.         and ord(substr($firstline, 2, 1)) === 0xBF;  
  7. }  
  8. function unsetbom(&$content) {  
  9.     hasbom($contentand ($content[0] = substr($content[0], 3));   
  10. }  
  11. function write($filename, &$content) {  
  12.     $file = fopen($filename'w');  
  13.     fwrite($file, implode($content''));  
  14.     fclose($file);  
  15. }  
  16. function filenames($path) {  
  17.     $directory = opendir($path);  
  18.     while (false != ($filename = readdir($directory))) strpos($filename'.') !== 0 and $filenames[] = $filename;  
  19.     closedir($directory);  
  20.     return $filenames;  
  21. }  
  22. function process($path) {  
  23.     $parent = opendir($path);  
  24.     while (false != ($filename = readdir($parent))) {  
  25.         echo $filename."/n";  
  26.         if(strpos($filename'.') === 0) continue;  
  27.         if(is_dir($path.'/'.$filename)) {  
  28.             process($path.'/'.$filename);  
  29.         } else {  
  30.             $content = file($path.'/'.$filename);  
  31.             unsetbom($content);  
  32.             write($path.'/'.$filename$content);  
  33.         }  
  34.     }  
  35.     closedir($parent);  
  36. }  
  37. process('/home/selfimpr/t');  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值