php获取目录下所有文件路径(递归)
目录如下:
D:adir>tree /A /F
D:.
| afile1.rar
| afile2.txt
| afile3.BMP
|
+---bdir
| bfile1.rar
| bfile2.txt
| bfile3.BMP
|
---cdir
| cfile1.rar
| cfile2.txt
| cfile3.BMP
|
---ddir
| dfile1.rar
| dfile2.txt
| dfile3.BMP
|
---edir
efile1.rar
efile2.txt
efile3.BMP
具体代码:
<?php
function tree(&$arr_file, $directory, $dir_name="")
{
$mydir = dir($directory);
while($file = $mydir->read())
{
if((is_dir("$directory/$file")) AND ($file != ".") AND ($file != ".."))
{
tree($arr_file, "$directory/$file", "$dir_name/$file");
}
else if(($file != ".") AND ($file != ".."))
{
$arr_file[] = "$dir_name/$file";
}
}
$mydir->close();
}
//开始运行
$arr_file = array();
tree($arr_file, "D:/adir");
print_r($arr_file);
运行结果:
Array
(
[0] => /afile1.rar
[1] => /afile2.txt
[2] => /afile3.BMP
[3] => /bdir/bfile1.rar
[4] => /bdir/bfile2.txt
[5] => /bdir/bfile3.BMP
[6] => /cdir/cfile1.rar
[7] => /cdir/cfile2.txt
[8] => /cdir/cfile3.BMP
[9] => /cdir/ddir/dfile1.rar
[10] => /cdir/ddir/dfile2.txt
[11] => /cdir/ddir/dfile3.BMP
[12] => /cdir/ddir/edir/efile1.rar
[13] => /cdir/ddir/edir/efile2.txt
[14] => /cdir/ddir/edir/efile3.BMP
)
注意:这里没有将中文文件名进行转码。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: mysql的函数 SUBSTRING_INDEX
- 下一篇: php读取目录及子目录下所有文件名的方法