> php教程 > PHP源码 > 批量去除BOM头

批量去除BOM头

WBOY
풀어 주다: 2016-06-16 08:39:33
원래의
978명이 탐색했습니다.
跳至 [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); 
} 
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿