Question

Est-il possible d'exclure des fichiers et dossiers cachés de l' readdir() la fonction?J'ai un répertoire où il y a beaucoup de dossiers et de certains dossiers cachés.Je veux lire tous les dossiers à l'exception de ceux qui sont cachés.

Merci pour toute aide.

Kcssm

Était-ce utile?

La solution

Si vous voulez juste pour exclure les fichiers commençant par un point, ".", vous pouvez faire quelque chose comme ceci:

$files = readdir('/path/to/folder');
$files = array_filter($files, create_function('$a','return ($a[0]!=".");'));

Cette retournera seulement les fichiers qui ne commencent pas par un point "."

Sur windows, les fichiers cachés travailler différemment, je ne sais pas comment trouver des personnes.

Autres conseils

Utilisation SPL itérateurs: DirectoryIterator + FilterIterator.

Vous pouvez exclure des fichiers et des dossiers qui commencent par "." à l'aide du code suivant

$ignoreList = array('cgi-bin', '.', '..', '._');
   if ($directory = opendir(APPPATH . 'controllers/user')) {
  while (false !== ($filename = readdir($directory))) {
    if (!in_array($filename, $ignoreList) and substr($filename, 0, 1) != '.') {
         echo $filename."<br>";
      }
   }
 }

Vous pouvez également utiliser scandir avec preg_grep pour masquer tous les fichiers et dossiers commençant par un ".".Veuillez consulter ci-dessous le code,

$dir    = '/Users/Umesh/Sites/';
$files = preg_grep('/^([^.])/', scandir($dir));

print_r($files);

?>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top