coltseavers
Goto Top

Anfängerproblem Lesefehler unter XAMPP auf Windows 10

Hallo zusammen,

ich möchte unter Windows 10 mit XAMPP arbeiten, und dabei mit PHP Dateien aus einem Verzeichnis auslesen (für eine Slideshow).

<?php
   function zeigeLesbareDateien() {
      $Verzeichnishandler = dir("bilder/");  
      
      while (($Eintrag = $Verzeichnishandler->read()) !== false) {         //solange das Verzeichnis Einträge hat...
         echo htmlspecialchars($Eintrag) . "<br />";                       //gib sie aus  
         if (is_readable($Eintrag)){
            echo htmlspecialchars($Eintrag) . " ist lesbar! <br />";        //und nenne die Dateien, die lesbar sind  
         }
      }
      $Verzeichnishandler->close();
   }
   
   zeigeLesbareDateien();
?>

Die Ausgabe des Verzeichnisinhaltes klappt wunderbar und vollständig.
Beim Auflisten der lesbaren Dateien fehlen aber die neueren.
Als ich das XAMPP installiert habe wurden dort einige Bilder hineinkopiert. Diese werden auch als "lesbar" angezeigt.
Wenn ich jetzt per Fernwartung weitere Dateien in das Verzeichnis hineinkopiere, erscheinen diese bei der Auflistung des Verzeichnisinhaltes, aber nicht bei den lesbaren Dateien.
Wieso?

Ich habe testweise mal versucht bei einer neu reinkopierten Datei unter Eigenschaften -> Sicherheit einen Vollzugriff für "Jeder" zu hinterlegen, aber das hat nicht geholfen.

Für mich gibt das keinen Sinn - aber vielleicht weiss jemand von euch mehr?
Für Hilfe wäre ich sehr dankbar!

Gruß,
Colt

Content-Key: 384367

Url: https://administrator.de/contentid/384367

Ausgedruckt am: 29.03.2024 um 12:03 Uhr

Mitglied: BassFishFox
BassFishFox 24.08.2018 aktualisiert um 22:17:54 Uhr
Goto Top
Hi,

Vergleiche peinlich Besitzer und Rechte bei den Dateien wo es geht und bei den hinzu gekommenen.

Das hier scheint wohl aehnlich zu sein.
https://stackoverflow.com/questions/10870388/php-is-readable-fails-but-o ...


BFF
Mitglied: coltseavers
coltseavers 24.08.2018 aktualisiert um 23:16:35 Uhr
Goto Top
Lösung gefunden! Denn nach doof kommt dämlich, und das ist meine Spezialdisziplin!

Alsooo:
In $Eintrag steht nur der Dateiname. Das reicht in Zeile 7 aber nicht, da dort dann der Unterordner fehlt und somit im Hauptverzeichnis des Webspaces gesucht wird.
Korrekt also:
if (is_readable("bilder/" . $Eintrag)){   

Warum aber waren dann einige Bilder dennoch lesbar?
Lustige Geschichte: Bevor ich die Bilder in den Unterordner "bilder" kopiert hatte, lagen sie im root-Verzeichnis.
Nun waren die ersten Bilder sowohl im Haupt-Verzeichnis als auch im bilder-Unterordner, wodurch sie in Zeile 7 des Codes als lesbar ermittelt wurden, obwohl im falschen Verzeichnis danach gesucht wurde.

Sorry für die Belästigung, aber nach mehreren Stunden Grübeln wusste ich mir nicht anders zu helfen...

Gruß,
Colt
Mitglied: BassFishFox
BassFishFox 25.08.2018 um 00:37:36 Uhr
Goto Top
Es war halt Freitag. face-wink

Schoenes WE!
BFF