ホームページ  >  記事  >  バックエンド開発  >  PHP を使用してすべての悪を解決する BOM_PHP チュートリアル

PHP を使用してすべての悪を解決する BOM_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-14 10:12:01826ブラウズ

[php]
$path = ディレクトリ名(__FILE__); 
 
scanDir($path); 
 
 
関数 bomtoutf8($filename)
{
    $ef = 239; 
    $bb = 187; 
    $bf = 191; 
 
    if (is_dir($filename)) が戻る; 
    $fd = fopen($filename, "rb"); 
    if (!$fd) exit($filename); 
    $headers = fread($fd, 3); 
    fclose($fd); 
     
    if (strlen($headers)  
    if (ord($headers[0]) == $ef &&
        ord($headers[1]) == $bb &&
        ord($headers[2]) == $bf
        ) {
        echo $ファイル名, "n"; 
        $content = file_get_contents($filename); 
        if (!$content) {
            exit("ファイルの内容の取得に失敗しました"); 
        }
        $len = strlen($content); 
        $content = substr($content, 3); 
 
        if ($content === false && $len!=3) {
            exit("sbustr が失敗しました"); 
        } else if ($content === false && $len==3){
            $content = ""; 
        }
        $ret = file_put_contents($filename, $content, LOCK_EX); 
        if ($ret === false) {
            exit("ファイルの内容の挿入に失敗しました"); 
        }
        echo "成功したファイル ", $filename, "n"; 
    }
 
 
}
 
関数 scanDir($path)
{
    $d = ディレクトリ($パス); 
    if (!$d) exit("ディレクトリが失敗しました"); 
 
    while (false !== ($entry = $d->read())) {
        if ($entry == '.' || $entry == '..') {
            続く; 
        }
        $ファイル名 = $パス 。 DIRECTORY_SEPARATOR 。 $エントリー; 
    // echo $filename, "n";  
        if (is_dir($filename)) {
            scandir($ファイル名); 
        } その他 {
            bomtoutf8($ファイル名); 
        }
    }
}

$path = ディレクトリ名(__FILE__);

scandDir($path);


関数 bomtoutf8($filename)
{
 $ef = 239;
 $bb = 187;
 $bf = 191;

if (is_dir($filename)) return;
 $fd = fopen($filename, "rb");
 if (!$fd) exit($filename);
 $headers = fread($fd, 3);
 fclose($fd);
 
 if (strlen($headers)

if (ord($headers[0]) == $ef &&
  ord($headers[1]) == $bb &&
  ord($headers[2]) == $bf
  ){
  echo $filename, "n";
  $content = file_get_contents($filename);
  if (!$content) {
   exit("ファイルの内容の取得に失敗しました");
  }
  $len = strlen($content);
  $content = substr($content, 3);

if ($content === false && $len!=3) {
exit("sbustr が失敗しました");
} else if ($content === false && $len==3){
$content = "";
}
$ret = file_put_contents($filename, $content, LOCK_EX);
if ($ret === false) {
exit("ファイルの内容の挿入に失敗しました");
}
echo "成功したファイル ", $filename, "n";
}


}

関数 scandir($path)
{
$d = dir($path);
if (!$d) exit("ディレクトリ失敗");

while (false !== ($entry = $d->read())) {
if ($entry == '.' || $entry == '..') {
続けてください;
}
$filename = $path .$entry;
//エコー $ファイル名, "n";
if (is_dir($filename)) {
ScandDir($filename);
} その他 {
bomtoutf8($filename);
}
}
}


注意: コードはバッチ処理ディレクトリ (サブディレクトリを含む) 内のすべての BOM ファイルであり、使用前にバックアップする必要があります

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/477261.html技術記事 [php] $path = dirname(__FILE__); 関数 bomtoutf8($filename) { $bb = 187; if (is_dir($filename)) ; $fd = fopen($filename, rb);
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。