Mit dem PHP-Befehl is_dir kann überprüft werden, ob ein Verzeichnis vorliegt oder ob es sich bei dem angegebenen Namen um eine Datei handelt. Eine ähnliche Prüfungsmöglichkeit bietet der PHP-Befehl is_file, der die Gültigkeit einer Datei feststellen kann. Aber es gibt einen kleinen Unterschied zum Befehl is_dir.
In diesem Fall braucht es nicht nur den erwarteten Dateinamen, sondern auch seine Endung, um eine erfolgreiche Abfrage durchführen zu können, doch ansonsten ist das Prinzip das gleiche zur Kontrolle der erwarteten Quelle oder auch des Ziels - je nach aktueller Situation im Skript.
Webhosting mit viel Software bei Alfahosting (Affiliate-Link)
<?php
if(is_file("test.txt")) {
echo "test ist eine Datei";
} else {
echo "test ist keine Datei";
}
?>
Der kleine, aber feine Unterschied zwischen dem bereits besprochenen Befehl is_dir und is_file besteht darin, dass auch die Dateiendung angeführt werden muss, um die Abfrage zu einem richtigen Ergebnis zu bringen. Würden wir im obigen Beispiel statt "test.txt" nur "test" eingeben, wie dies bei is_dir der Fall war, dann würde keine gültige Datei erkannt werden.
Erst durch die vollständige Nennung des Dateinamens inklusive der erwarteten Dateiendung kann PHP in Zusammenarbeit mit is_file und dem Dateisystem ermitteln, ob eine gültige Datei vorliegt oder nicht. Würde man nur "test" schreiben, wäre die Antwort negativ, auch wenn eine entsprechende Datei mit der Endung für eine Textdatei vorhanden wäre. Daher ist ein sehr genaues Arbeiten bei diesen Befehlen nötig und daher gibt es auch den häufigen Tipp, diese Befehle genau zu erarbeiten, um ihre Vorgehensweise zu verstehen.
Vom grundsätzlichen Gedanken her kann man is_dir und is_file durchaus vergleichen und beide werden auch gerne eingesetzt, um zu prüfen, ob ein Verzeichnis oder eine Datei (is_dir) vorliegt bzw. im zweiten Schritt, ob die Datei gültig ist (is_file). Das wird zum Beispiel auch benötigt, wenn Installationsroutinen aufgebaut werden. Dort gibt es die Frage, ob benötigten Dateien schon angelegt wurden. Wenn nein, wird das dann per Skript gemacht, um später beschrieben zu werden.
Webhosting bei Alfahosting - jetzt gratis testen! (Affiliate-Link)
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