雨天IT技术网

当前位置: 网站首页 > 编程开发 > PHP >

PHP去除BOM文档头部有空格或者换行

时间:2017-01-07 19:27来源:网络 作者:雨天 点击:
PHP去除BOM文档头部有空格或者换行,具体代码如下: ? php //removetheutf-8boms //bymagicbugatgmaildotcom if ( isset ( $_GET [ dir ])){ //要去除的文件目录,无参数则为文件当前目录。 $basedir = $_GET [ dir ]; } else { $basedir = . ; } $auto = 1
PHP去除BOM文档头部有空格或者换行,具体代码如下:

  1.  <?php
  2. //remove the utf-8 boms
  3. //by magicbug at gmail dot com
  4.  
  5. if (isset($_GET['dir'])){ //要去除的文件目录,无参数则为文件当前目录。
  6. $basedir=$_GET['dir'];
  7. }else{
  8. $basedir = '.';
  9. }
  10.  
  11. $auto = 1;
  12.  
  13. checkdir($basedir);
  14.  
  15. function checkdir($basedir){
  16. if ($dh = opendir($basedir)) {
  17.    while (($file = readdir($dh)) !== false) {
  18.     if ($file != '.' && $file != '..'){
  19.      if (!is_dir($basedir."/".$file)) {
  20.       echo "filename: $basedir/$file ".checkBOM("$basedir/$file")." <br>";
  21.      }else{
  22.       $dirname = $basedir."/".
  23. $file;
  24.       checkdir($dirname);
  25.      }
  26.     }
  27.    }
  28. closedir($dh);
  29. }
  30. }
  31.  
  32. function checkBOM ($filename) {
  33. global $auto;
  34. $contents = file_get_contents($filename);
  35. $charset[1] = substr($contents, 0, 1);
  36. $charset[2] = substr($contents, 1, 1);
  37. $charset[3] = substr($contents, 2, 1);
  38. if (ord($charset[1]) == 239 && ord($charset[2]) == 187 &&
  39. ord($charset[3]) == 191) {
  40.    if ($auto == 1) {
  41.     $rest = substr($contents, 3);
  42.     rewrite ($filename, $rest);
  43.     return ("<font color=red>BOM found,
  44. automatically removed.</font>");
  45.    } else {
  46.     return ("<font color=red>BOM found.
  47. </font>");
  48.    }
  49. }
  50. else return ("BOM Not Found.");
  51. }
  52.  
  53. function rewrite ($filename, $data) {
  54. $filenum = fopen($filename, "w");
  55. flock($filenum, LOCK_EX);
  56. fwrite($filenum, $data);
  57. fclose($filenum);
  58. }
  59. ?>
(责任编辑:雨天)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容