Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 06-01-2020, 09:42
fritzje610
 Registrierter Benutzer
Links : Onlinestatus : fritzje610 ist offline
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 326
fritzje610 ist zur Zeit noch ein unbeschriebenes Blatt
Standard verzeichnis aus alias auslesen funktioniert nicht mir scandir()

Hallo zusammen,

nach längerer Zeit habe ich mal wieder ein kleines Problem, bei dem ich eure Hilfe benötige. Installiert ist xampp mit php7.3.12 und Apache 2.4.41. Der Server wird nur lokal betrieben.

Ich bin dabei mir eine Bilddatenbank meiner Bilder zu erstellen.
Da das mittlerweile eine größere Anzahl ist, sind die einzelenen Verzeichnisse auf einer externen Festplatte in einem Sammelverzeichnis ausgelagert.
Die Struktur ist wie folgt aufgebaut und es wird auch nicht tiefer geschachtelt.
-- Bilder
|- Ordner 1
|- Ordner 2
|- Ordner 3
|--- Ordner 3.1
|--- Ordner 3.2

Um die externe Festplatte ansprechen zu können habe ich einen Alias erstellt.
wenn ich diesen im Browser anspreche werden auch alle Verzeichnisse angezeigt. Soweit so gut, der Alias funktioniert also. Zumindest für den Browser.

Mein Problem ist nun, das scandir() nicht funktioniert wenn ich auf aus dem Alias auslesen will. Folgend der Code dazu.
Seltsamerweise funktioniert es aber wenn das Verzeichnis 'bilder' im htdocs-Verzeichnis des xampp liegt ?!

PHP-Code:
#Unterverzeichnisse aus Alben-Ordner auslesen
$alledateien scandir('bilder'); // 

#Array mit Verzeichnissen erstellen
foreach ($alledateien as $datei)

    if (
$datei != "." && $datei != ".."
    {
        
$dirs[] = $datei//Verzeichnisse in Array schreiben
    
}

Folgende Fehlermeldungen kommen beim Versuch vom Alias einzulesen:
Warning: scandir(bilder,bilder): Das System kann die angegebene Datei nicht finden. (code: 2)
Warning: scandir(bilder): failed to open dir: No such file or directory
Warning: scandir(): (errno 2): No such file or directory

Was mir auffällt, ist das in der ersten Meldung zweimal der Alias genannt wird. Warum das so ist kann ich leider nicht sagen.
Weitere Vermutung ist, dass das mit scandir() aus einen Alias gar nicht geht, sondern über opendir(), readdir() und closedir() gemacht werden muss.



Kann mir jemand hier bitte weiterhelfen ?!?!


Meine Theorie mit opendir usw. stimmt leider auch nicht. Auf diesem Wege erhalte ich die gleichen Fehlermeldungen.
PHP-Code:
if ($handle opendir('bilder')) {
    echo 
"Verzeichnis-Handle: $handle\n";
    echo 
"Einträge:\n";

    
/* Das ist der korrekte Weg, ein Verzeichnis zu durchlaufen. */
    
while (false !== ($entry readdir($handle))) {
        echo 
"$entry\n";
    }

    
closedir($handle);

__________________
Gruß

Michael


Geändert von fritzje610 (06-01-2020 um 09:56 Uhr)
Mit Zitat antworten