PHP: fopen zum Erstellen von Ordnern

Lesezeit: 1 Minute

Ich muss wissen, ob es eine Möglichkeit gibt, einen neuen Ordner zu erstellen, wenn der Pfad nicht existiert. Wenn ich versuche, einen Pfad zu fopen(), sagt er NO such File or Directory exists Ich habe versucht, die Datei mit „w“ und „w+“ zu öffnen, aber es ist nicht möglich, einen neuen Ordner zu erstellen. Gibt es eine Möglichkeit, dies zu erreichen, ohne mkdir() zu verwenden. Weil ich jedes Mal die Verzeichnisnamen allein aus dem Pfad zu mkdir() extrahieren muss. Jede Hilfe ist willkommen. Vielen Dank…

Benutzer-Avatar
qbert220

fopen kann keine Verzeichnisse erstellen.

Sie müssen etwas verwenden wie:

$filename="/path/to/some/file.txt";
$dirname = dirname($filename);
if (!is_dir($dirname))
{
    mkdir($dirname, 0755, true);
}

fopen erstellt oder öffnet keine Ordner, sondern nur Dateien. Sie sollten mit überprüfen is_dir zuerst, wenn es existiert, wenn nicht, erstellen Sie es. mkdir hat eine rekursive Erstellungsoption.

if (!is_dir($myDir)) {
    mkdir($myDir, 0777, true); // true for recursive create
}

Wenn Sie nach einer Möglichkeit suchen, ein Verzeichnis zu öffnen und seinen Inhalt zu lesen, sollten Sie sich SPLs ansehen DirectoryIterator

Benutzer-Avatar
Ihr gesunder Menschenverstand

Sie können fopen nicht zum Erstellen von Ordnern verwenden.
Um einen Ordner zu erstellen, müssen Sie mkdir verwenden

Für die Operationen, die Sie jedes Mal wiederholen müssen, gibt es eine Sprachfunktion namens “benutzerdefinierte Funktionen”. Das am wenigsten bekannte Feature von PHP, wie man anhand von Stackoverflow-Antworten sagen kann.

  • > Für die Operationen, die Sie jedes Mal wiederholen müssen, gibt es eine Sprachfunktion namens “benutzerdefinierte Funktionen”. Das am wenigsten bekannte Feature von PHP, wie man anhand von Stackoverflow-Antworten sagen kann: LOL

    – nkolaw

    12. Mai 2013 um 14:04 Uhr


1205370cookie-checkPHP: fopen zum Erstellen von Ordnern

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy