zoukankan      html  css  js  c++  java
  • 检测文件是否有bom头

    <?php
    //此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除
    //By Bob Shen
     
    $basedir="."; //修改此行为需要检测的目录,点表示当前目录
    $auto=1; //是否自动移除发现的BOM信息。1为是,0为否。
     
    //以下不用改动
     
    if ($dh = opendir($basedir)) {
    while (($file = readdir($dh)) !== false) {
    if ($file!='.' && $file!='..' && !is_dir($basedir."/".$file)) echo "filename: $file ".checkBOM("$basedir/$file")." <br>";
    }
    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 ("<font color=red>BOM found, automatically removed.</font>");
    } else {
    return ("<font color=red>BOM found.</font>");
    }
    }
    else return ("BOM Not Found.");
    }
     
    function rewrite ($filename, $data) {
    $filenum=fopen($filename,"w");
    flock($filenum,LOCK_EX);
    fwrite($filenum,$data);
    fclose($filenum);
    }
  • 相关阅读:
    POJ 2251 Dungeon Master
    HDU 3085 Nightmare Ⅱ
    CodeForces 1060 B Maximum Sum of Digits
    HDU 1166 敌兵布阵(树状数组)
    HDOJ 2050 折线分割平面
    HDU 5879 Cure
    HDU 1878 欧拉回路
    HDU 6225 Little Boxes
    ZOJ 2971 Give Me the Number
    HDU 2680 Choose the best route
  • 原文地址:https://www.cnblogs.com/sunscheung/p/4633241.html
Copyright © 2011-2022 走看看