【发布时间】:2018-02-09 07:58:48
【问题描述】:
我正在使用 scandir 来定位 a 文件夹,然后在里面检查我想在链接中使用的文件。我使用它来获取文件夹的位置很好,但如果我尝试获取文件,它会返回 null。
$path = "/path/to/plugin";
$dir = array_diff(scandir($path), array('..', '.'));
$tmpYear = 0;
$tmpMonth = 0;
foreach($dir as $year){
if((int)$year > $tmpYear){
$tmpYear = (int)$year;
}
}
$path2 = $path."/".$tmpYear;
$dir2 = array_diff(scandir($path2), array('..', '.'));
foreach ($dir2 as $month) {
if((int)$month > $tmpMonth){
$tmpMonth = (int)$month;
}
}
$comPath = $path2."/".$tmpMonth;
$dir3 = scandir($comPath);
foreach ($dir3 as $filename) {
$finalfile = $filename;
}
var_dump($dir3);
这将转储一个 NULL,但如果我 var_dump($dir2) 仅上升一级,我将正确获取文件夹名称。
编辑:整个文件/文件夹结构归 www-data:www-data 所有,我的服务器是运行 LEMP 堆栈的 ubuntu。所有的权限都设置为 766。
【问题讨论】:
-
目录结构是什么?是否有像
2015,2016,2017这样的文件夹和子文件夹1,2,3,4...?? -
是的,很重要。它是 YY/MM/ 文件夹,然后在每个月的文件夹中都有一个 pdf,我想获取它的名称,然后为它生成一个链接。