我在这样的目录上使用php dir()函数:
/videos/1137
/videos/1137/0
/videos/1137/1
/videos/1137/2
/videos/1137/3
/videos/1137/4
代码以递归方式运行,但它不会选择一些目录
结果就像
READING /videos/1137
READING /videos/1137/2
READING /videos/1137/3
虽然所有文件夹都具有相同的权限,甚至用户/组也是相同的。
php dir()函数是否存在一些可能导致此问题的缺陷?
答案 0 :(得分:2)
我不知道你在代码中做了什么,因为你没有向我们展示任何内容!
但是这里有一些代码可以列出给定文件夹的所有目录,希望你可以将它作为自己代码的灵感。
<?php
function scan_videos(&$array, $path)
{
$files = glob($path.'/*');
foreach ($files as $file)
{
if (is_dir($file))
{
$array[] = $file;
scan_videos($array, $file);
}
}
}
$directories = array();
scan_videos($directories, 'videos');
print_r($directories);
?>
这将输出
Array
(
[0] => videos/1137
[1] => videos/1137/0
[2] => videos/1137/1
[3] => videos/1137/2
[4] => videos/1137/3
[5] => videos/1137/4
)