So erstellen Sie einen Ordner, wenn er noch nicht vorhanden ist
Berücksichtigen Sie das Umfeld der Frage.
- WordPress.
- Webhosting-Server.
- Vorausgesetzt, es ist Linux und nicht Windows, auf dem PHP läuft.
Und ich zitiere aus: mkdir
bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = FALSE [, resource $context ]]] )
Im Handbuch heißt es, dass der einzige erforderliche Parameter die $pathname
!
Wir können also einfach kodieren:
<?php
error_reporting(0);
if(!mkdir('wp-content/uploads')){
// Todo
}
?>
Erläuterung:
Aus den folgenden Gründen müssen wir keinen Parameter übergeben oder prüfen, ob der Ordner existiert, oder sogar den Modus-Parameter übergeben, wenn er nicht benötigt wird:
- Der Befehl erstellt den Ordner mit 0755 (die Standardberechtigung des gemeinsamen Hosting-Ordners) oder 0777 die Standardeinstellung des Befehls.
mode
wird ignoriert bei Windows-Hosting mit PHP .
- Bereits die
mkdir
Befehl hat einen eingebauten Checker, der überprüft, ob der Ordner existiert; wir müssen also nur die Rückgabe True|False überprüfen; und es ist kein Fehler; es ist nur eine Warnung, und Warnung ist auf den Hosting-Servern standardmäßig deaktiviert.
- Was die Geschwindigkeit betrifft, so ist diese schneller, wenn die Warnung deaktiviert ist.
Dies ist nur eine andere Art und Weise, die Frage zu betrachten, und kein Anspruch auf eine bessere oder optimale Lösung.
Es wurde auf PHP 7, einem Produktionsserver und Linux getestet.
17 Stimmen
if (!file_exists('path/to/directory')) { mkdir('path/to/directory', 0777, true); }