Heim  >  Artikel  >  Backend-Entwicklung  >  php列出目录下所有文件的代码举例

php列出目录下所有文件的代码举例

WBOY
WBOYOriginal
2016-07-25 08:58:161148Durchsuche
本文介绍下,用php实现列出目录中所有文件的一例代码,供大家学习参考。

列出目录中所有文件,代码如下:

<?php
$current_dir = 'E:/temp/';
$dir = opendir($current_dir);
echo "direcotry list:<ul>";
while(false !== ($file=readdir($dir))){
if($file != "." && $file != ".."){
echo "<li>$file</li>";
}
} //by bbs.it-home.org
echo "</ul>";
closedir($dir);
?>

如果目录与网站在同一分区下,直接用$current_dir='/temp/';也行。

上面这个是windows下的例子,下面来看一个linux下列出目录中所有文件的php实例。 如下: 1,获取目录下文件,不包括子目录。

<?php
//获取某目录下所有文件、目录名(不包括子目录下文件、目录名)
    $handler = opendir($dir);
    while (($filename = readdir($handler)) !== false) {//务必使用!==,防止目录下出现类似文件名“0”等情况
        if ($filename != "." && $filename != "..") {
                $files[] = $filename ;
           }
       }
    }
    closedir($handler);
     
//打印所有文件名
foreach ($filens as $value) {
    echo $value."<br />";
}
?>

2、获取目录下所有文件,包括子目录。

<?php
function get_allfiles($path,&$files) {
    if(is_dir($path)){
        $dp = dir($path);
        while ($file = $dp ->read()){
            if($file !="." && $file !=".."){
                get_allfiles($path."/".$file, $files);
            }
        }
        $dp ->close();
    }
    if(is_file($path)){
        $files[] =  $path;
    }
} //edit bbs.it-home.org
   
function get_filenamesbydir($dir){
    $files =  array();
    get_allfiles($dir,$files);
    return $files;
}
   
$filenames = get_filenamesbydir("static/image/");
//打印所有文件名,包括路径
foreach ($filenames as $value) {
    echo $value."<br />";
}
?>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn