


Die PHP-Funktion mkdir implementiert die rekursive Erstellung hierarchischer Verzeichnisse
Das Folgende sind die Informationen, die ich aus dem Internet zusammengestellt habe. Ich werde die spezifische Verwendung der PHP-Funktion mkdir im Detail vorstellen und hoffe, dass sie Freunden, die diesbezüglich Bedürfnisse haben, hilfreich sein werden.
Bei der Projektentwicklung ist es unvermeidlich, Ordner auf dem Server zu erstellen, z. B. das Verzeichnis beim Hochladen von Bildern, das Verzeichnis beim Parsen von Vorlagen usw. Dies wird in meinem aktuellen Projekt nicht verwendet, daher habe ich mehrere Methoden zum Erstellen hierarchischer Verzeichnisse in einer Schleife zusammengefasst.
PHPs Standard-Mkdir kann jeweils nur eine Ebene von Verzeichnissen erstellen. Wenn Sie Verzeichnisse auf allen Ebenen Schicht für Schicht erstellen möchten, erstellen Sie sie normalerweise zuerst aus der übergeordneten Ebene und dann Schicht für Schicht. Wenn Sie es jedoch manuell auf diese Weise erstellen, ist es etwas zu mühsam.
Was machen wir, wenn wir Programme schreiben? Soll die Funktion, die wir benötigen, bald automatisch realisiert werden? Die Methode hier besteht darin, uns dabei zu helfen, das hierarchische Verzeichnis automatisch über das Programm zu erstellen und zu vervollständigen.
Es gibt zwei Ideen:
1. Von oben nach unten (übergeordnetes Verzeichnis → untergeordnetes Verzeichnis)
Bestimmen Sie zunächst, ob das übergeordnete Verzeichnis If ist es existiert, erstellen Sie es, wenn es nicht existiert;
2. Bestimmen Sie, ob das sekundäre Unterverzeichnis existiert, erstellen Sie es, wenn es nicht existieren kann,
3 Rufen Sie im zweiten Schritt die Funktion selbst rekursiv mit dem Unterverzeichnis auf Parameter.
2. Von unten nach oben (untergeordnetes Verzeichnis → übergeordnetes Verzeichnis)
Bestimmen Sie zunächst, ob das untere Verzeichnis vorhanden ist existiert Wenn es existiert, wenn es nicht existiert, wird das obere Verzeichnis als Parameter für die Rekursion verwendet.
function mkDirs($dir){ if(!is_dir($dir)){ if(!mkDirs(dirname($dir))){ return false; } if(!mkdir($dir,0777)){ return false; } } return true; } mkDirs('1/2/3/');
function mkDirs1($path){ if(is_dir($path)){//已经是目录了就不用创建 return true; } if(is_dir(dirname($path))){//父目录已经存在,直接创建 return mkdir($path); } mkDirs1(dirname($path));//从子目录往上创建 return mkdir($path);//因为有父目录,所以可以创建路径 } //mkDirs1('1/2/3/');
function makedir($path){ $arr=array(); while(!is_dir($path)){ array_push($arr,$path);//把路径中的各级父目录压入到数组中去,直接有父目录存在为止(即上面一行is_dir判断出来有目录,条件为假退出while循环) $path=dirname($path);//父目录 } if(empty($arr)){//arr为空证明上面的while循环没有执行,即目录已经存在 echo $path,'已经存在'; return true; } while(count($arr)){ $parentdir=array_pop($arr);//弹出最后一个数组单元 mkdir($parentdir);//从父目录往下创建 } } makedir('1/2/3');
function mk1($dir){ $arr=explode("/",$dir); $path=''; for($i=0;$i< count($arr);$i++){ $path.=$arr[$i].'/'; if(!is_dir($path)){ mkdir($path,0777); } } } function mk2($dir){ static $i=0; $path=''; $arr=explode("/",$dir); if($i < count($arr)){ $path.=$arr[$i]; mkdir($path,0777,true); $i++; mk2($path."/"); } } function mkdirs0($path){ $dirs = explode('/',$path); for ($c=0;$c < count($dirs); $c++) { $thispath=""; for ($cc=0; $cc <= $c; $cc++) { $thispath.=$dirs[$cc].'/'; } if (!is_dir($thispath)) { mkdir($thispath,0777); } } }

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die PHP Client -URL -Erweiterung (CURL) ist ein leistungsstarkes Tool für Entwickler, das eine nahtlose Interaktion mit Remote -Servern und REST -APIs ermöglicht. Durch die Nutzung von Libcurl, einer angesehenen Bibliothek mit Multi-Protokoll-Dateien, erleichtert PHP Curl effiziente Execu

Alipay PHP ...

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

In Artikel werden wichtige Sicherheitsfunktionen in Frameworks erörtert, um vor Schwachstellen zu schützen, einschließlich Eingabevalidierung, Authentifizierung und regelmäßigen Aktualisierungen.

Senden von JSON -Daten mithilfe der Curl -Bibliothek von PHP in der PHP -Entwicklung müssen häufig mit externen APIs interagieren. Eine der gängigen Möglichkeiten besteht darin, die Curl Library zu verwenden, um Post � ...

In dem Artikel werden Frameworks hinzugefügt, das sich auf das Verständnis der Architektur, das Identifizieren von Erweiterungspunkten und Best Practices für die Integration und Debuggierung hinzufügen.

Eine offizielle Einführung in das nicht blockierende Merkmal der detaillierten Interpretation der nicht blockierenden Funktion von ReactPhp hat viele Fragen vieler Entwickler gestellt: "Reactphpisnon-BlockingByDefault ...
