清理php中的bom

  1. <?php
  2. if (isset($_GET['dir'])){
    //config the basedir
  3. $basedir=$_GET['dir'];
  4. }else{
  5. $basedir =
    '.';
  6. }
  7. $auto = 1;
  8. checkdir($basedir);
  9. function checkdir($basedir){
  10. if ($dh = opendir($basedir)) {
  11. while (($file = readdir($dh)) !== false) {
  12. if ($file !=
    '.' && $file !=
    '..'){
  13. if (!is_dir($basedir."/".$file)) {
  14. echo
    "filename: $basedir/$file ".checkBOM("$basedir/$file")."
  15. ";
  16. }else{
  17. $dirname =
    $basedir."/".$file;
  18. checkdir($dirname);
  19. }
  20. }
  21. }
  22. closedir($dh);
  23. }
  24. }
  25. function checkBOM ($filename) {
  26. global
    $auto;
  27. $contents =
    file_get_contents($filename);
  28. $charset[1] =
    substr($contents, 0, 1);
  29. $charset[2] =
    substr($contents, 1, 1);
  30. $charset[3] =
    substr($contents, 2, 1);
  31. if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3])
    == 191) {
  32. if ($auto == 1) {
  33. $rest =
    substr($contents, 3);
  34. rewrite ($filename,
    $rest);
  35. return ("BOM found, automatically removed.");
  36. }
    else {
  37. return ("BOM found.");
  38. }
  39. }
  40. else
    return ("BOM Not Found.");
  41. }
  42. function rewrite ($filename,
    $data) {
  43. $filenum =
    fopen($filename,
    "w");
  44. flock($filenum, LOCK_EX);
  45. fwrite($filenum,
    $data);
  46. fclose($filenum);
  47. }
  48. ?>
时间: 2024-09-17 04:09:58

清理php中的bom的相关文章

百度卫士系统清理过程中,误删文件怎么办?

  在今天的百度卫士使用教程中,我们将来学习的与系统清理这一功能相关的问题与解答.比如说:系统清理过程中,误删文件怎么办?注册表清理之后发现系统异常,如何处理?等等问题.那么,对百度卫士系统清理这一功能感兴趣的网友就一起来看看今天的百度卫士使用教程吧! 百度卫士 问:什么是智能清理功能?如何开启? 智能清理功能会智能判断您的系统资源的使用状态,在空闲时帮您清理电脑垃圾,清理完成后会告诉您结果. 开启自动清理功能后,您的电脑不会再持续累积垃圾,时刻保持畅快运行. 智能清理功能的开启方法: 方法一,

PHP 过滤页面中的BOM(实现代码)

本篇文章是对PHP中过滤页面中的BOM的实现代码进行了详细的分析介绍,需要的朋友参考下   复制代码 代码如下: function checkBOM ($filename) { $contents = file_get_contents($filename); $charset[1] = substr($contents, 0, 1); $charset[2] = substr($contents, 1, 1); $charset[3] = substr($contents, 2, 1); if

系统清理过程中,百度卫士误删文件怎么办?

系统清理过程中,误删文件怎么办? 垃圾清理后,如果您发现自己的有用文件被删除,请第一时间联系我们的客服人员,会有专人来处理跟进. 与此同时,请您注意所选择的垃圾清理选项,如果您不想清理某项"垃圾",请取消勾选.

PHP 去掉 utf8格式文件中的bom头部

例1  代码如下 复制代码 /**  * 去掉文件中的 bom头  * @var 0.1  * @author Chenwp  */ function clearbom($contents){        //UTF8 去掉文本中的 bom头     $BOM = chr(239).chr(187).chr(191);     return str_replace($BOM,'',$contents);    } /**  * 去掉文件中的bom头  * @param object $file

PHP中遇到BOM、&amp;lt;feff&amp;gt;编码导致json_decode函数无法解析问题_php技巧

昨天同事遇到一个奇怪的问题,就是以下代码,无法通过JSON校验,也无法通过PHP的json_decode函数解析. 复制代码 代码如下: [     {         "title": "",         "pinyin": ""     } ] 可能聪明的你已经猜到其中包含有不看见的特殊字符,在vim下查看: 复制代码 代码如下: [     {         <feff>"title&quo

ERP系统中与BOM有关的常用方法

erp 一: BOM展开(按任一父结点展开到最底层)以下写一个简单的,视具体要求稍做修改即可.create table 表(levelid int,levelname char(2),parent int)insert 表 select  1,        'AA'     ,    0union all select  2 ,       'BB'    ,     1union all select  3  ,      'CC'   ,      1union all select  4

清理Win8中不用的网络连接的步骤

  1.首先,返回到win8电脑的传统桌面位置,之后,同时按下win8电脑键盘上的win+R快捷键打开电脑的运行窗口,在打开的运行窗口中,输入regedit并单击回车,这样就可以打开win8电脑的注册表编辑器窗口了. 2.在打开的注册表编辑器窗口中,依次点击展开左侧菜单中的HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionNetworkListSignaturesUnmanaged. 3.之后就可以在这个Unmanaged中看到很

Mac清理过程中如何避免误删CleanMyMac语言文件

  如果需要设置软件扫描的时候不移除某些特定的语言文件,我们可以自行设置不要从系统或者应用程序中移除以下语言,设置方法如下: 1.启动CleanMyMac,然后选择"CleanMyMac3"-"偏好设置" 2.在"通用"选项卡中,如果要添加某种语言,在"不要从系统或者应用程序中移除以下语言"中点击"+" 图一:添加语言截图一 3.勾选需要保留的语言(语言列表来自系统偏好设置),然后单击"添加&qu

高手清理系统中重复文件有绝招

  在系统中难免都会存在着重复文件,这些重复的文件会占据着我们大量的系统空间,从而影响着我们的运行速度.因此需要我们对这些重复文件进行清理,那么就一起来看下高手的清理妙招吧. 利用ACDSee清理系统重复文件 现在的硬盘容量是越来越大,出于备份的考虑,很多朋友会采取"宁滥勿缺"的原则保存文档,这就可能出现文件重复的情况,造成文件搜索的效率低下.而且,要在海量的存储空间中找出重复的文档,并不是一件容易的工作.其实,借助著名的图像浏览工具ACDSee可以很轻松地找出系统中的重复文档.例如现