Home  >  Article  >  php教程  >  批量去除BOM头

批量去除BOM头

WBOY
WBOYOriginal
2016-06-16 08:39:33960browse
跳至 [1] [全屏预览]
<?php
/**
 *去除所有文件BOM
 *author Caihong_tang
 *@created 2016-6-13 10:05:34
 */
if (isset($_GET['dir'])){
  $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 ("<p color=red>BOM found, automatically removed.</p>"); 
    } 
    else { 
      return ("<p color=red>BOM found.</p>"); 
    } 
  } 
  else return ("<p>BOM Not Found.</p>"); 
} 
function rewrite ($filename, $data) { 
  $filenum = fopen($filename, "w"); 
  flock($filenum, LOCK_EX); 
  fwrite($filenum, $data); 
  fclose($filenum); 
} 
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn