如何使用PHP回显特定文件夹中的所有文件夹名称?

时间:2012-01-03 13:31:51

标签: php

我想在特定文件夹中打印文件夹名称。例如,文件夹1,2,3位于名为“新建”的文件夹中。我想使用php打印文件夹名称1 2 3。可能吗 ?在PHP中有任何功能吗?非常感谢任何类型的解决方案或想法。

4 个答案:

答案 0 :(得分:1)

以下是readdir()函数中来自php.net的一些示例代码:

<?php
if ($handle = opendir('.')) {
    while (false !== ($entry = readdir($handle))) {
        if ($entry != "." && $entry != "..") {
            echo "$entry\n";
        }
    }
    closedir($handle);
}
?>

如果修改此代码以使用is_dir()函数检查$ entry,则可以轻松找到目录。

答案 1 :(得分:1)

<?php       

    // declare the folder    
    $ourDir = "/home/public_html/folderName";

    // prepare to read directory contents    
    $ourDirList = @opendir($ourDir);

    // loop through the items    
    while ($ourItem = readdir($ourDirList))    
    {        
       // check if it is a directory    
       if (is_dir($ourItem))    
       {    
          echo "directory: $ourItem <br />";    
       }

       // check to see if it is a file    
       if (is_file($ourItem))    
       {    
          echo "file: $ourItem <br />";    
       }    
    }

closedir($ourDirList);

?>

这是为了回显目录中的文件夹和文件。

答案 2 :(得分:1)

<?php
$dir = "/etc/php5/";

// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
        }
        closedir($dh);
    }
}
?>

归功于php.net

扩展这个逻辑,

<?php
$dir = "/etc/php5/";

// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            if(filetype($dir . $file) == 'dir') {
                echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
            }
        }
        closedir($dh);
    }
}
?>

应该回显所有目录

我本地服务器上的输出是:

filename: . : filetype: dir
filename: .. : filetype: dir
filename: apache : filetype: dir
filename: etc : filetype: dir
filename: pranav : filetype: dir

答案 3 :(得分:1)

glob函数也可用于获取目录。

<?php
  $folders = glob('/',GLOB_ONLYDIR);
  print_r($folders);
?>