Problem:
Wie kann man unter Unix die Existenz eines Verzeichnisses mithilfe eines Systemaufrufs ermitteln, ohne es zu öffnen oder damit verbundene Fehler zu behandeln?
Antwort:
POSIX-Systeme stellen zu diesem Zweck zwei wesentliche Funktionen bereit: stat( ) und lstat(). Mit diesen Funktionen können Sie feststellen, ob ein Pfadname ein gültiges zugängliches Objekt widerspiegelt, und Informationen über seinen Typ abrufen.
Hauptunterschiede zwischen stat() und lstat():
Implementierung mit stat():
#include <sys/stat.h> struct stat sb; if (stat(pathname, &sb) == 0 && S_ISDIR(sb.st_mode)) { // True if pathname is a directory }
Zusätzliche Dateitypüberprüfung:
Verwendung der S_IS*-Makros von < sys/stat.h> können Sie andere Dateitypen außerhalb von Verzeichnissen überprüfen:
Das obige ist der detaillierte Inhalt vonWie überprüfe ich die Verzeichnisexistenz unter Unix mithilfe von Systemaufrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!