• PHP去bom头


    <?php
    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 ("<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);
    }
    ?>

  • 相关阅读:
    ! JOISC2020DAY2变色龙之恋
    ! JOISC2020DAY1扫除
    JOISC2020DAY1汉堡肉
    JOISC2020DAY1建筑装饰4
    ! JLOI/SHOI2016随机序列
    JLOI/SHOI2016黑暗前的幻想乡
    ! JLOI/SHOI2016成绩比较
    JLOI/SHOI2016方
    JLOI/SHOI2016侦查守卫
    ! AHOI/HNOI2017抛硬币
  • 原文地址:https://www.cnblogs.com/ShepherdIsland/p/php_del_bom.html
Copyright © 2020-2023  润新知