Wie erstellt man einen Ordner, wenn er nicht in PHP existiert
-
file_exists()
, um zu prüfen, ob eine Datei oder ein Verzeichnis in PHP existiert -
is_dir()
um zu prüfen, ob eine Datei oder ein Verzeichnis in PHP existiert -
file_exists()
vsis_dir()
in PHP -
mkdir()
in PHP
Es ist möglich, einen Ordner zu erstellen und die entsprechenden Berechtigungen in PHP zu setzen, insbesondere mit der Funktion mkdir()
.
Der Standard-Berechtigungsmodus ist 0777
(größtmöglicher Zugriff). Bevor ein Verzeichnis erstellt wird, wird zuerst importiert, um zu prüfen, ob das Verzeichnis oder eine Datei existiert oder nicht. In PHP kann dies mit file_exists
oder is_dir
geschehen.
file_exists()
, um zu prüfen, ob eine Datei oder ein Verzeichnis in PHP existiert
Die Funktion file_exists
ist eine eingebaute Funktion, um zu prüfen, wo ein Verzeichnis oder eine Datei existiert oder nicht. Sie akzeptiert einen Parameter eines Pfades, der true
zurückgibt, wenn er bereits existiert, oder false
, wenn nicht.
Beispiel mit file_exists()
:
$path = "sample/path/newfolder";
if (!file_exists($path)) {
mkdir($path, 0777, true);
}
Im obigen Beispiel prüft es die Existenz des Verzeichnisses mit der Funktion file_exists()
und erstellt dann das Verzeichnis newfolder
, wenn das Ergebnis falsch ist, mit der Erlaubnis von 0777
.
is_dir()
um zu prüfen, ob eine Datei oder ein Verzeichnis in PHP existiert
Diese Funktion ist auch ähnlich wie file_exists
, und der einzige Unterschied ist, dass sie nur dann true
zurückgibt, wenn die übergebene Zeichenkette ein Verzeichnis ist, und false
, wenn es sich um eine Datei handelt.
Beispiel mit is_dir
:
$path = "sample/path/newfolder";
if (!is_dir($path)) {
mkdir($path, 0777, true);
}
Im obigen Beispiel prüft is_dir
, ob der Ordner bereits existiert, bevor ein neuer Ordner mit mkdir
erstellt wird.
file_exists()
vs is_dir()
in PHP
Beide Funktionen prüfen die Existenz des Verzeichnisses, der einzige Unterschied ist, dass file_exists()
auch true
zurückgibt, wenn der übergebene Parameter eine Datei ist. Auf der anderen Seite ist is_dir
etwas schneller als file_exists
.
mkdir()
in PHP
Diese Funktion erzeugt ein Verzeichnis, das durch einen Pfadnamen angegeben wird, der als Parameter übergeben wird. Der erwartete Rückgabewert ist true
oder false
.
Beispiel-Implementierung:
mkdir($path, $mode, $recursive, $context);
Parameter-Werte
Parameter | Werte |
---|---|
path (erforderlich) |
Zu erstellendes Verzeichnis oder Pfad |
Modus (fakultativ) |
Verzeichnis- oder Dateierlaubnis. Standardmäßig ist der Modus 0777 (größtmöglicher Zugriff). Der mode besteht aus vier Zahlen:1st - immer auf 0 2nd - gibt die Erlaubnis des Eigentümers des Verzeichnisses oder der Datei an. 3rd - gibt die Erlaubnis der Benutzergruppe des Eigentümers an 4th - gibt die Erlaubnis aller anderen an. |
rekursiv (optional) |
(true oder false ) Um die geschachtelte Struktur zu erzeugen, muss der Parameter rekursiv auf true gesetzt werden. |
Kontext (optional) |
Satz von Parametern, die das Verhalten des Streams verbessern oder modifizieren. |
Hinweis: PHP prüft, ob das Betriebsskript im Verzeichnis die gleiche UID(owner) im Verzeichnis hat, wenn der Safe-Modus
aktiviert ist.