首页 > 开发 > PHP > 正文

PHP批量检测并去除文件BOM头代码实例

2024-05-04 22:21:14
字体:
来源:转载
供稿:网友

如下代码为PHP方式去除当前目录及子目录所有文件BOM信息的代码,新建文件,将其放倒根目录下,然后浏览器访问即可。

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

当然脚本小编为大家找到了一个软件版本的检测工具:下载地址 //www.Vevb.com/softs/496779.html

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表