如何使用PHP readdir排除某些文件类型?

mik*_*ols 3 php

我正在使用一个php扫描目录脚本,它将扫描目录的内容,然后使用指向目录内容的链接填充页面.

<?php
$count = 0;
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
    if ($file != "." && $file != "..") {$count++;
        print("<a href=\"".$file."\">".$file."</a><br />\n");
    }
}
echo '<br /><br /><a href="..">Return</a>';
closedir($handle);
}
?
Run Code Online (Sandbox Code Playgroud)

我想知道如何排除某些文件或文件类型,如test.xml,durka.xslt或.html显示在填充页面上.我有一些代码,但不知道如何集成它.任何帮助将非常感谢...

?php
if ($handle = opendir(‘.’)) {
while (false !== ($file = readdir($handle)))
{
if ($file != “.” && $file != “..”
&& $file != “NOT-TO-BE-IN-1.php”
&& $file != “NOT-TO-BE-IN-2.html”
&& $file != “NOT-TO-BE-IN-3.jpg”
&& $file != “”
&& $file != “”
&& $file != “”
&& $file != “”
&& $file != “”

)
Run Code Online (Sandbox Code Playgroud)

Dav*_*dom 5

<?php

  // These files will be ignored
  $excludedFiles = array (
    'excludeMe.file',
    'excludeMeAs.well'
  );

  // These file extensions will be ignored
  $excludedExtensions = array (
    'html',
    'htm',
    'php'
  );

  // Make sure we ignore . and ..
  $excludedFiles = array_merge($excludedFiles,array('.','..')); 

  // Convert to lower case so we are not case-sensitive
  for ($i = 0; isset($excludedFiles[$i]); $i++) $excludedFiles[$i] = strtolower(ltrim($excludedFiles[$i],'.'));
  for ($i = 0; isset($excludedExtensions[$i]); $i++) $excludedExtensions[$i] = strtolower($excludedExtensions[$i]);

  // Loop through directory
  $count = 0;
  if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) {
      $extn = explode('.',$file);
      $extn = array_pop($extn);
      // Only echo links for files that don't match our rules
      if (!in_array(strtolower($file),$excludedFiles) && !in_array(strtolower($extn),$excludedExtensions)) {
        $count++;
        print("<a href=\"".$file."\">".$file."</a><br />\n");
      }
    }
    echo '<br /><br /><a href="..">Return</a>';
    closedir($handle);
  }

?>
Run Code Online (Sandbox Code Playgroud)