Aller au contenu principal
loading

Script de detection BOM

POSTÉ DANS PHP TAGS PHP AUTEUR herve COMMENTAIRES 5

Voici un script PHP qui permet de rechercher un caractère BOM (marque d’ordre des octets : cf: wikipedia) au sein de plusieurs fichiers « .php », « .html » et « .ini » contenus dans la WEB_ROOT.

<?php

$extensions_allowed = array();
$extensions_allowed [] = 'php';
$extensions_allowed [] = 'html';
$extensions_allowed [] = 'ini';

function listeFichiers($dir){
  global $extensions_allowed;
  if ($handle = opendir($dir)) {
    /* Ceci est la façon correcte de traverser un dossier. */
    while (false !== ($file = readdir($handle))) {
      if (($file <>'.') && ($file<>'..')) {
        if (is_file($dir.'/'.$file)){
          $extension = pathinfo($dir.'/'.$file, PATHINFO_EXTENSION);
          if (in_array($extension,$extensions_allowed)){
            $fileHandle = fopen($dir.'/'.$file, "r");
            $intro = fread($fileHandle, 3);
            fclose($fileHandle);
            if ($intro == "\xEF\xBB\xBF"){
              echo "$dir/$file\n";
              flush();
            }
          }
      } else {
        if (is_dir($dir.'/'.$file)){
          listeFichiers($dir.'/'.$file);
        }
      }
    }
   }
   closedir($handle);
  }
}

header("Content-type: text/plain\n\n");

set_time_limit(3600);

$path = $_SERVER['DOCUMENT_ROOT'];

if (substr($path,-1)=='/'){
  $path =  substr($path,0,-1);
}

listeFichiers($path);
?>

Source : http://libre-d-esprit.thinking-days.net/2009/03/et-bom-le-script/



5 commentaire