background image

 

PHP 入门:php 列出目录下的所有文件的代码

使用 php 的

glob

函数可以列出所有符合路径结构的文件和目录,以下从某 cms 提取出来

的函数
代码如下:
 
<?php 

function

 dir_path(

$path

) { 

$path

 = 

str_replace

('\\', '/', 

$path

); 

if

 (

substr

(

$path

, -1) != '/') 

$path

 = 

$path

 . '/'; 

return

 

$path

/** 

 

列出目录下的所有文件


* @param str $path 

 

目录

* @param str $exts 

 

后缀

* @param array $list 

 

路径数组

* @return array 

 

返回路径数组

*/

 

function

 dir_list(

$path

$exts

 = '', 

$list

 = 

array

()) { 

$path

 = dir_path(

$path

); 

$files

 = 

glob

(

$path

 . '*'); 

foreach

(

$files

 

as

 

$v

) { 

if

 (!

$exts

 || preg_match("/\.($exts)/i", 

$v

)) { 

$list

[] = 

$v

if

 (

is_dir

(

$v

)) { 

$list

 = dir_list(

$v

$exts

$list

); 



return

 

$list


?> 
 

 

使用方法:
代码如下:
 
<?php 

$r

 = dir_list('dir'); 

printf("<p>输出数据为:</p><pre>%s</pre>\n", var_export(

$r

 , true));