In PHP-Anwendungen kann es immer wieder vorkommen, dass Pfade für das Speichern oder Laden von Dateien dynamisch angelegt werden. Dabei ist es nicht nur wichtig zu wissen, wo man sich befindet und wie es um die Schreib- und Leserechte aussieht, sondern auch, womit man es zu tun hat.
So kann ein Name "test" ein Verzeichnis ebenso sein wie eine Datei. Hier hilft der PHP-Befehl is_dir, der ein nützliches Werkzeug sein kann, um herauszufinden, ob ein Ordner vorliegt oder nicht.
Webhosting mit viel Software bei Alfahosting (Affiliate-Link)
<?php
if(is_dir("test")) {
echo "test ist ein Verzeichnis";
} else {
echo "test ist eine Datei";
}
?>
Es ist eine einfache Abfrage, in der hier is_dir eingesetzt wird, aber sie kann elementare Bedeutung erhalten, wenn man viel mit Verzeichnissen und Dateien - kurzum mit dem Dateisystem in den Skripten zu tun hat. Gerade beim Steuern von Unterverzeichnisse, beispielsweise für das Speichern von Bilddateien oder für Videos, die User hochladen können, ist es relevant zu wissen, was Sache ist.
Im aktuellen Beispiel gehen wir davon aus, dass wir im Verzeichnis "test" die Datei "test.txt" gespeichert haben. Rufen wir die Abfrage wie oben zu sehen ab, dann erhalten wir als Auskunft, dass der Name test ein Dateiname ist, denn wir befinden uns im Verzeichnis test und hier findet das Dateisystem bzw. der Befehl is_dir die genannte Datei.
Würden wir in der if-Abfrage aber statt "test" "../test" eingeben, dann würden wir als Information erhalten, dass ein Verzeichnis vorliegt, denn wir sind aus dem test-Verzeichnis ausgestiegen und in der nächsthöheren Ebene des Dateisystems gelandet. Hier findet das System natürlich nicht mehr die Testdatei, sondern nur noch den Ordner.
Webhosting bei Alfahosting - jetzt gratis testen! (Affiliate-Link)
Beides zugleich ist nicht möglich und daher kann man is_dir als sicheres Werkzeug verwenden, um sich im Dateisystem zu bewegen und den Status abzufragen.
PHP + Dateisystem ist ein immer noch wichtiges Thema, aber eines, das durch den häufigen Einsatz der Datenbank doch zurückgegangen ist. Trotzdem gibt es zahlreiche Anwendungen, bei denen auf Dateien am Server zugegriffen wird wie Logfiles oder Statistikprogramm mit entsprechenden Auswertungen.
Ein zentrales Thema ist die Dateibearbeitung und das bedeutet, dass man die Datei öffnen können muss, schließen, auslesen oder die Größe ermitteln.
Ein weiterer Bereich beim Dateisystem betrifft die Frage des Dateizustandes oder ob es sich überhaupt um eine Datei handelt oder ob man die Adresse und den Namen eines Verzeichnisses erwischt hat.
Der dritte Bereich betrifft die Zugriffsrechte selbst. Die Datei gibt es, aber darf man sie beschreiben? Wenn nein, kann man mit dem Befehl chmod für eine Änderung sorgen, damit die Statistik die neuen Werte eintragen kann.
Themenseiten
Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen
Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel
Praxisartikel