【发布时间】:2016-07-21 15:48:31
【问题描述】:
我看到另一个问题有同样的问题,但只有 1 个答案,这对我没有用。
问题:PHP scandir - multiple directories
我正在使用 Joomla!创建我的网站 (我用模板创建所有东西,大多数我不理解创建扩展)。
所以,我在主文件夹中创建了文件夹 pbfData。
我在其中创建了文件夹users。但是 scandir 没有检测到任何这些。
错误(没有if (is_dir))
Warning: scandir(/pbfData/) [function.scandir]: failed to open dir: No such file or directory in [...]/pbf/index.php on line 61
Warning: scandir() [function.scandir]: (errno 2): No such file or directory in [...]/pbf/index.php on line 61
Fatal error: Cannot access empty property in [...]/pbf/index.php on line 61
代码如下所示:
class users {
var $users;
function refUsers() {
$dir = '/pbfData/';
if (is_dir($dir)) {
$this->$users = scandir($dir);
} else {
echo "<b>CRITICAL ERROR: </b>No access to users directory.";
}
}
[...] }
它输出
CRITICAL ERROR: No access to users directory.
(注意:添加is_dir 来解决它是另一个问题的答案,但正如我所写的那样,它对我不起作用。)
【问题讨论】:
-
您正在设置
$dir = '/pbfData/',然后检查is_dir($directory),然后执行scandir($dir),因此如果$directory是您正在从$dir读取的有效目录,这可能不是有效的目录。 -
您能否链接不起作用的答案并解释原因?
-
@apokryfos 我没看到,但即使没有 is_dir 检查它也没有用。
-
根据您的代码,我将假设“/pbfData/”不是目录。这也是一条看起来很奇怪的绝对路径。也许你打算做类似
__DIR__."/pbfData/"的事情?