php中哪个函数可以取得某目录下的所有文件名?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中哪个函数可以取得某目录下的所有文件名?相关的知识,希望对你有一定的参考价值。

参考技术A

没有这样的函数,只能自己实现,下面是我常用的,这个不仅会获取到当前目录下的所有文件,而且还会遍历所有子文件夹下的文件。

<?php
 function read_all_dir ( $dir )
    
        $result = array();
        $handle = opendir($dir);
        if ( $handle )
        
            while ( ( $file = readdir ( $handle ) ) !== false )
            
                if ( $file != '.' && $file != '..')
                
                    $cur_path = $dir . DIRECTORY_SEPARATOR . $file;
                    if ( is_dir ( $cur_path ) )
                    
                        $result['dir'][$cur_path] = read_all_dir ( $cur_path );
                    
                    else
                    
                        $result['file'][] = $cur_path;
                    
                
            
            closedir($handle);
        
        return $result;
    
?>

参考技术B

以下是来自手册的两个例子,希望对你有帮助,对于 php5 来说,使用 scandir 会简单点。

<?php
$dir = '/tmp';
// example1 php5
$files1 = scandir($dir);
print_r($files1);
// example2 php4 | php5
$dh = opendir($dir);
while (false !== ($filename = readdir($dh))) 
    $files2[] = $filename;

print_r($files2);
/* 显示
Array(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
*/

参考技术C glob,百度一下这个函数 参考技术D 有 遍历目录 第5个回答  2014-03-11 glob还有scandir本回答被提问者采纳

php 利用scandir() 函数 扫描出制定目录下的所有文件

  //遍历子文件夹和文件夹的内容 并且计算出文件的多少
  //一个demo  引号替换下

function scan($dir){ static $i=0; static $d=0; $dirArr = scandir(‘.’); foreach($dirArr as $v){ if($v!=‘.’ && $v!=‘..’){ $dirname = $dir.”\\”.$v; //子文件夹的目录地址 if(is_dir($dirname)){ $count[‘dir’] = ++$d; scan($dirname); } $count[‘file’] = ++$i; } } return $count; } $count = scan(‘.’); echo “一共文件{$count[‘file’]}个,文件夹 {$count[‘dir’]}个 “;

//文件的类别

 //针对当前目录的情况下
 $dir = scandir(‘.’);
 foreach($dir as $v){
   $base = strrchr($v,’.’);
   if($v!=‘.’){
    
    if($v == ‘..’){
      $type =‘上级目录’; 
    }
    
    //类型不一一举例
    if(is_dir($v)){
      $type =‘目录’; 
    }elseif($base== ‘.jpg’ || $base==‘.gif’){
      $type =‘ 图片文件’;  
    }elseif($base== ‘.rar’ || $base==‘.zip’){
      $type =‘ 压缩文件’;  
    }else{
      $type=“文件”;
    }
    
   }
 }

个人感觉非常无聊的功能 写的玩吧



以上是关于php中哪个函数可以取得某目录下的所有文件名?的主要内容,如果未能解决你的问题,请参考以下文章

PHP读取目录下所有文件

php哪个函数能取得字符串长度

php写一个函数,能够遍历一个文件夹下的所有文件和子文件夹

PHP 列出当前目录下所有文件(自身别列出来)

appserv开发php在哪个文件夹下写代码,怎么没有htdocs文件夹?

DELPHI如何获取某目录下的所有文件名?