php - 列出localhost上的文件夹和文件

时间:2011-08-09 04:02:23

标签: php

  

可能重复:
  List all folders on my computer (php)

我试过了:

$handle = opendir($path);

但路径是什么?我把除厨房水槽之外的所有东西放在那里!我无法让它发挥作用。我现在在我的本地主机上。

我做了:

 opendir(dirname(__FILE__));

这是什么工作......

$dir = dirname(__FILE__);

// 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."<br />";
        }
    closedir($dh);
    }
}

会做一些清理以获取我想要的信息。但是,感谢Stackoverflow中的“一些”,我更喜欢这个代码,对于localhost应用程序来说更好。

foreach(glob("*") as $filename)
{
echo $filename."<br />";
}

2 个答案:

答案 0 :(得分:5)

$path是您要打开的目录的路径。

c:\users\MP123\Photos

/home/MP123/Photos

这是真的一个“阅读the PHP manual,其中包含有关如何列出文件夹和文件的完整示例”,而不是“向专业人士寻求帮助以解决我的问题”类型主题。< / p>

答案 1 :(得分:4)

您正在寻找glob(简单来说)或DirectoryIterator(更多OOP方法)。

(来自相应文档页面的示例w /一些修改)

<?php
// all files in current directory (including '.' and '..')
foreach (glob("*") as $filename) {
    echo "$filename size " . filesize($filename) . "\n";
}
?>

<?php
// all files in current directory (excluding'.' and '..')
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    if (!$fileinfo->isDot()) {
        var_dump($fileinfo->getFilename());
    }
}
?>