Heim php教程 php手册 php中mkdir函数递归创建目录(文件夹)

php中mkdir函数递归创建目录(文件夹)

May 25, 2016 pm 04:53 PM
explode foreach substr

在php中mkdir函数是创建目录它自身是不可以递归创建目录了,我们需要遍历进行目录然后调用mkdir即可,下面来看一下操作方法。

<?php
/**
 * Makes directory and returns BOOL(TRUE) if exists OR made.
 *
 * @param  $path Path name
 * @return bool
 */
function rmkdir($path, $mode = 0755) {
    $path = rtrim(preg_replace(array(
        "/\/",
        "//{2,}/"
    ) , "/", $path) , "/");
    $e = explode("/", ltrim($path, "/"));
    if (substr($path, 0, 1) == "/") {
        $e[0] = "/" . $e[0];
    }
    $c = count($e);
    $cp = $e[0];
    for ($i = 1; $i < $c; $i++) {
        if (!is_dir($cp) && !@mkdir($cp, $mode)) {
            return false;
        }
        $cp.= "/" . $e[$i];
    }
    return @mkdir($path, $mode);
}
?>
Nach dem Login kopieren

例2

Somehow the recursive version of mkdir didn't work for me on Mac and the workaraounds listed

below alsow didn't work for me, so heres my solution:

<?php
function mkdir_r($dirName, $rights = 0777) {
    $dirs = explode(&#39;/&#39;, $dirName);
    $dir = &#39;&#39;;
    foreach ($dirs as $part) {
        $dir.= $part . &#39;/&#39;;
        if (!is_dir($dir) && strlen($dir) > 0) mkdir($dir, $rights);
    }
}
?>
Nach dem Login kopieren

Tested and works ;)


例3

<?php
function mkdirs($dir) {
    if (!is_dir($dir)) {
        if (!mkdirs(dirname($dir))) {
            return false;
        }
        if (!mkdir($dir, 0777)) {
            return false;
        }
    }
    return true;
}
function rmdirs($dir) {
    $d = dir($dir);
    while (false !== ($child = $d->read())) {
        if ($child != &#39;.&#39; && $child != &#39;..&#39;) {
            if (is_dir($dir . &#39;/&#39; . $child)) rmdirs($dir . &#39;/&#39; . $child);
            else unlink($dir . &#39;/&#39; . $child);
        }
    }
    $d->close();
    rmdir($dir);
}
?>
Nach dem Login kopieren

三个创建目录的函数都有自己的优点,这里我也没有一个个测试了,只使用了第二个感觉非常的不错。


永久链接:

转载随意!带上文章地址吧。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist der Unterschied zwischen der Verwendung von foreach und iterator zum Löschen von Elementen beim Durchlaufen von Java ArrayList? Was ist der Unterschied zwischen der Verwendung von foreach und iterator zum Löschen von Elementen beim Durchlaufen von Java ArrayList? Apr 27, 2023 pm 03:40 PM

1. Der Unterschied zwischen Iterator und foreach ist der polymorphe Unterschied (die unterste Ebene von foreach ist Iterator ein Schnittstellentyp, und es ist egal, ob for und foreach der Typ bekannt ist). 1. Warum heißt es, dass die unterste Ebene von foreach der von Iterator geschriebene Code ist: 2. Der Unterschied zwischen „remove in foreach“ und „iterator“. im Alibaba Java Development Manual, aber in Fall 1 wird kein Fehler gemeldet, und in Fall 2 wird zuerst ein Fehler gemeldet (java. util.ConcurrentModificationException).

So bestimmen Sie die Anzahl der foreach-Schleifen in PHP So bestimmen Sie die Anzahl der foreach-Schleifen in PHP Jul 10, 2023 pm 02:18 PM

​Die Schritte für PHP, um die Nummer der foreach-Schleife zu bestimmen: 1. Erstellen Sie ein Array von „$fruits“; 2. Erstellen Sie eine Zählervariable „$counter“ mit einem Anfangswert von 0. 3. Verwenden Sie „foreach“, um eine Schleife durchzuführen durch das Array und Erhöhen Sie den Wert der Zählervariablen im Schleifenkörper und geben Sie dann jedes Element und seinen Index aus. 4. Geben Sie den Wert der Zählervariablen außerhalb der „foreach“-Schleife aus, um zu bestätigen, welches Element die Schleife erreicht.

PHP gibt ein Array mit umgedrehten Schlüsseln zurück PHP gibt ein Array mit umgedrehten Schlüsseln zurück Mar 21, 2024 pm 02:10 PM

In diesem Artikel wird ausführlich erläutert, wie PHP nach dem Umdrehen eines Schlüsselwerts ein Array zurückgibt. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. PHP-Schlüsselwert-Flip Der Array-Schlüsselwert-Flip ist eine Operation für ein Array, bei der die Schlüssel und Werte im Array ausgetauscht werden, um ein neues Array mit dem ursprünglichen Schlüssel als Wert und dem ursprünglichen Wert als Schlüssel zu generieren. Implementierungsmethode In PHP können Sie das Schlüsselwert-Umdrehen eines Arrays mit den folgenden Methoden durchführen: array_flip()-Funktion: Die array_flip()-Funktion wird speziell für Schlüsselwert-Umdrehungsvorgänge verwendet. Es erhält ein Array als Argument und gibt ein neues Array mit vertauschten Schlüsseln und Werten zurück. $original_array=[

So verwenden Sie die PHP-Explosionsfunktion und beheben Fehler So verwenden Sie die PHP-Explosionsfunktion und beheben Fehler Mar 10, 2024 am 09:18 AM

Die Explosionsfunktion in PHP ist eine Funktion zum Aufteilen einer Zeichenfolge in ein Array. Sie ist sehr verbreitet und flexibel. Bei der Verwendung der Explosionsfunktion treten häufig Fehler und Probleme auf. In diesem Artikel wird die grundlegende Verwendung der Explosionsfunktion vorgestellt und einige Methoden zur Lösung der Fehlerberichte bereitgestellt. 1. Grundlegende Verwendung der Explosionsfunktion In PHP lautet die grundlegende Syntax der Explosionsfunktion wie folgt: explosion(string$separator,string$stri

PHP gibt den ASCII-Wert des ersten Zeichens der Zeichenfolge zurück PHP gibt den ASCII-Wert des ersten Zeichens der Zeichenfolge zurück Mar 21, 2024 am 11:01 AM

In diesem Artikel wird der ASCII-Wert des ersten Zeichens der von PHP zurückgegebenen Zeichenfolge ausführlich erläutert. Der Herausgeber hält dies für sehr praktisch, daher teile ich ihn als Referenz mit. PHP gibt den ASCII-Wert des ersten Zeichens einer Zeichenfolge zurück. Einführung In PHP ist das Abrufen des ASCII-Werts des ersten Zeichens einer Zeichenfolge eine gängige Operation, die grundlegende Kenntnisse der Zeichenfolgenverarbeitung und Zeichenkodierung erfordert. ASCII-Werte werden zur Darstellung des numerischen Werts von Zeichen in Computersystemen verwendet und sind für den Zeichenvergleich, die Datenübertragung und die Speicherung von entscheidender Bedeutung. Der Prozess zum Abrufen des ASCII-Werts des ersten Zeichens einer Zeichenfolge umfasst die folgenden Schritte: Abrufen der Zeichenfolge: Bestimmen Sie die Zeichenfolge, für die Sie den ASCII-Wert abrufen möchten. Es kann eine Variable oder eine String-Konstante sein

Häufige Fehler und Lösungen bei der Verwendung der Explosionsfunktion in PHP Häufige Fehler und Lösungen bei der Verwendung der Explosionsfunktion in PHP Mar 11, 2024 am 08:33 AM

Titel: Häufige Fehler und Lösungen bei der Verwendung der Explosionsfunktion in PHP In PHP ist die Explosionsfunktion eine häufige Funktion, die zum Aufteilen eines Strings in ein Array verwendet wird. Allerdings können einige häufige Fehler aufgrund unsachgemäßer Verwendung oder eines falschen Datenformats auftreten. In diesem Artikel werden die Probleme analysiert, die bei der Verwendung der Explosionsfunktion auftreten können, und Lösungen sowie spezifische Codebeispiele bereitgestellt. Fehler 1: Der Trennzeichenparameter wird nicht übergeben. Bei der Verwendung der Explosionsfunktion besteht einer der häufigsten Fehler darin, dass der Trennzeichenparameter nicht übergeben wird.

PHP gibt den String von der Startposition bis zur Endposition eines Strings in einem anderen String zurück PHP gibt den String von der Startposition bis zur Endposition eines Strings in einem anderen String zurück Mar 21, 2024 am 10:31 AM

In diesem Artikel wird ausführlich erläutert, wie PHP die Zeichenfolge von der Startposition zur Endposition einer Zeichenfolge in einer anderen Zeichenfolge zurückgibt. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit diesem Artikel können Sie etwas abgewinnen. Verwenden Sie die Funktion substr() in PHP, um Teilzeichenfolgen aus einer Zeichenfolge zu extrahieren. Die Funktion substr() kann Zeichen innerhalb eines angegebenen Bereichs aus einer Zeichenfolge extrahieren. Die Syntax lautet wie folgt: substr(string,start,length) wobei: string: der ursprüngliche String, aus dem der Teilstring extrahiert werden soll. start: Der Index der Startposition des Teilstrings (beginnend bei 0). Länge (optional): Die Länge des Teilstrings. Wenn nicht angegeben, dann

PHP gibt das aktuelle Element in einem Array zurück PHP gibt das aktuelle Element in einem Array zurück Mar 21, 2024 pm 12:36 PM

In diesem Artikel wird das aktuelle Element im von PHP zurückgegebenen Array ausführlich erläutert. Der Herausgeber hält es für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. Das aktuelle Element in einem PHP-Array abrufen PHP bietet eine Vielzahl von Methoden für den Zugriff auf und die Bearbeitung von Arrays, einschließlich des Abrufens des aktuellen Elements in einem Array. Im Folgenden werden einige häufig verwendete Techniken vorgestellt: 1. Funktion current() Die Funktion current() gibt das Element zurück, auf das der interne Zeiger des Arrays aktuell zeigt. Der Zeiger zeigt zunächst auf das erste Element des Arrays. Verwenden Sie die folgende Syntax: $currentElement=current($array);2.key() Funktion Die Funktion key() gibt das Element zurück, auf das der interne Zeiger des Arrays aktuell zeigt

See all articles