Ich würde hier noch prüfen, ob $homeDirPath nicht leer ist (also ob das Mitglied ein Home-Directory gesetzt hat) und ob der Rückgabewert von scandir() false ist (ist er laut doku, wenn der angegebene Parameter kein Verzeichnis ist:
PHP-Code:
$FrontendUserObject = \FrontendUser::getInstance();
$homeDirPath = \FilesModel::findByUuid($FrontendUserObject->homeDir)->path;
if (!empty($homeDirPath)) {
$filesInDir = scandir($homeDirPath);
if (false !== $filesInDir && count($filesInDir) > 2) {
echo 'NOT EMPTY';
} else {
echo 'EMPTY or DOES NOT EXIST';
}
} else {
echo "homeDir NOT SET";
}
Ansonsten sehe ich auch nicht, wieso es nicht funktionieren sollte, denn der Schutz der Verzeichnisse sollte ein Thema des Webservers und nicht von Contao sein.
Aber lass Dir sicherheitshalber mal ausgeben, welcher Pfad in path steht. Vielleicht erklärt es das ja (öffentliche Verzeichnisse ex. als Symlink unterhalb von web/, gechützte nicht).
Lesezeichen