使用PHP函数scandir排除特定的目录
的scandir()函数返回一个数组包含在指定的路径中的文件和目录。如下图所示:实例uff1a
复制代码代码如下:< PHP
print_r(scandir('test_directory '));
>
输出:
复制代码代码如下:数组
(
{ 0 } >。
{ 1 }…
{ 2 } = > 1.txt
{ 3 } = > 2.txt
)
大多数情况下只需要目录中的文件列表,如下所示:
复制代码代码如下:数组
(
{ 0 } = > 1.txt
{ 1 } = > 2.txt
)
一般来说,它是通过排除。或..数组项。
复制代码代码如下:< PHP
functionfind_all_files($dir)
{
根scandir美元($目录);
foreach(rootas美元价值)
{
如果(美元价值= = = = = = { | |'。价值..)
继续;
}
如果(is_file(美元价值目录 / )){
$结果;
继续;
}
foreach(find_all_files($目录 /价值)作为美元的价值)
{
$结果;
}
}
返回$结果;
}
>
另一种方法,使用array_diff功能,消除了阵,scandir函数执行:
复制代码代码如下:< PHP
目录;
scanned_directory美元= array_diff(scandir($目录),阵列(..,));
>
通常代码管理生产。SVN文件,或.htaccess文件,目录访问权限的限制,更便于通过array_diff函数滤波器。