Maison 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);
}
?>
Copier après la connexion

例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);
    }
}
?>
Copier après la connexion

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);
}
?>
Copier après la connexion

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


永久链接:

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

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle est la différence entre utiliser foreach et iterator pour supprimer des éléments lors de la traversée de Java ArrayList ? Quelle est la différence entre utiliser foreach et iterator pour supprimer des éléments lors de la traversée de Java ArrayList ? Apr 27, 2023 pm 03:40 PM

1. La différence entre Iterator et foreach est la différence polymorphe (la couche inférieure de foreach est Iterator). Iterator est un type d'interface, et il ne se soucie pas du type de collection ou de tableau ; de la collection en premier, et même le type d'éléments dans la collection ; 1. Pourquoi dit-on que la couche inférieure de foreach est le code écrit par Iterator : Code décompilé : 2. La différence entre supprimer dans foreach et iterator. dans le manuel de développement Java d'Alibaba, mais aucune erreur ne sera signalée dans le cas 1, et une erreur sera signalée dans le cas 2 (java. util.ConcurrentModificationException) en premier

Comment déterminer le nombre de boucles foreach en php Comment déterminer le nombre de boucles foreach en php Jul 10, 2023 pm 02:18 PM

​Les étapes permettant à PHP de déterminer le numéro de la boucle foreach : 1. Créez un tableau de "$fruits" ; 2. Créez une variable de compteur "$counter" avec une valeur initiale de 0. 3. Utilisez "foreach" pour boucler. à travers le tableau, et augmentez la valeur de la variable compteur dans le corps de la boucle, puis affichez chaque élément et son index ; 4. Affichez la valeur de la variable compteur en dehors de la boucle "foreach" pour confirmer quel élément atteint la boucle.

PHP renvoie un tableau avec les valeurs clés inversées PHP renvoie un tableau avec les valeurs clés inversées Mar 21, 2024 pm 02:10 PM

Cet article expliquera en détail comment PHP renvoie un tableau après avoir inversé la valeur de la clé. L'éditeur pense que c'est assez pratique, je le partage donc avec vous comme référence. J'espère que vous pourrez gagner quelque chose après avoir lu cet article. PHP Key Value Flip Array Key Value Flip est une opération sur un tableau qui échange les clés et les valeurs du tableau pour générer un nouveau tableau avec la clé d'origine comme valeur et la valeur d'origine comme clé. Méthode d'implémentation En PHP, vous pouvez effectuer un retournement clé-valeur d'un tableau via les méthodes suivantes : Fonction array_flip() : La fonction array_flip() est spécialement utilisée pour les opérations de retournement clé-valeur. Il reçoit un tableau en argument et renvoie un nouveau tableau avec les clés et les valeurs échangées. $original_array=[

Comment utiliser la fonction d'explosion PHP et résoudre les erreurs Comment utiliser la fonction d'explosion PHP et résoudre les erreurs Mar 10, 2024 am 09:18 AM

La fonction d'explosion en PHP est une fonction utilisée pour diviser une chaîne en un tableau. Elle est très courante et flexible. Lors du processus d'utilisation de la fonction d'éclatement, nous rencontrons souvent des erreurs et des problèmes. Cet article présentera l'utilisation de base de la fonction d'éclatement et fournira quelques méthodes pour résoudre les rapports d'erreurs. 1. Utilisation de base de la fonction exploser En PHP, la syntaxe de base de la fonction exploser est la suivante : éclater(string$separator,string$stri

PHP renvoie la valeur ASCII du premier caractère de la chaîne PHP renvoie la valeur ASCII du premier caractère de la chaîne Mar 21, 2024 am 11:01 AM

Cet article expliquera en détail la valeur ASCII du premier caractère de la chaîne renvoyée par PHP. L'éditeur pense que c'est très pratique, je la partage donc avec vous comme référence, j'espère que vous pourrez gagner quelque chose après avoir lu cet article. PHP renvoie la valeur ASCII du premier caractère d'une chaîne Introduction En PHP, obtenir la valeur ASCII du premier caractère d'une chaîne est une opération courante qui implique des connaissances de base sur le traitement des chaînes et l'encodage des caractères. Les valeurs ASCII sont utilisées pour représenter la valeur numérique des caractères dans les systèmes informatiques et sont essentielles à la comparaison des caractères, à la transmission et au stockage des données. Le processus d'obtention de la valeur ASCII du premier caractère d'une chaîne implique les étapes suivantes : Obtenir la chaîne : Déterminez la chaîne pour laquelle vous souhaitez obtenir la valeur ASCII. Il peut s'agir d'une variable ou d'une constante chaîne

Erreurs courantes et solutions lors de l'utilisation de la fonction d'explosion en PHP Erreurs courantes et solutions lors de l'utilisation de la fonction d'explosion en PHP Mar 11, 2024 am 08:33 AM

Titre : Erreurs courantes et solutions lors de l'utilisation de la fonction exploser en PHP En PHP, la fonction exploser est une fonction courante utilisée pour diviser une chaîne en un tableau. Cependant, certaines erreurs courantes peuvent survenir en raison d'une mauvaise utilisation ou d'un format de données incorrect. Cet article analysera les problèmes que vous pouvez rencontrer lors de l'utilisation de la fonction d'éclatement et fournira des solutions et des exemples de code spécifiques. Erreur 1 : le paramètre délimiteur n'est pas transmis. Lors de l'utilisation de la fonction d'éclatement, l'une des erreurs les plus courantes est que le paramètre délimiteur n'est pas transmis.

PHP renvoie la chaîne de la position de début à la position de fin d'une chaîne dans une autre chaîne PHP renvoie la chaîne de la position de début à la position de fin d'une chaîne dans une autre chaîne Mar 21, 2024 am 10:31 AM

Cet article expliquera en détail comment PHP renvoie la chaîne de la position de début à la position de fin d'une chaîne dans une autre chaîne. L'éditeur pense que c'est assez pratique, je le partage donc avec vous comme référence, j'espère que vous finirez de lire. cet article. Vous pouvez tirer quelque chose de cet article. Utilisez la fonction substr() en PHP pour extraire des sous-chaînes d'une chaîne. La fonction substr() peut extraire des caractères dans une plage spécifiée d'une chaîne. La syntaxe est la suivante : substr(string,start,length) où : string : la chaîne d'origine à partir de laquelle la sous-chaîne doit être extraite. start : L'index de la position de départ de la sous-chaîne (à partir de 0). length (facultatif) : la longueur de la sous-chaîne. Si non précisé, alors

PHP renvoie l'élément actuel dans un tableau PHP renvoie l'élément actuel dans un tableau Mar 21, 2024 pm 12:36 PM

Cet article expliquera en détail l'élément actuel du tableau renvoyé par PHP. L'éditeur pense que c'est assez pratique, je le partage donc avec vous comme référence. J'espère que vous pourrez gagner quelque chose après avoir lu cet article. Récupérer l'élément actuel dans un tableau PHP PHP fournit une variété de méthodes pour accéder et manipuler les tableaux, notamment obtenir l'élément actuel dans un tableau. Ce qui suit présente plusieurs techniques couramment utilisées : 1. Fonction current() La fonction current() renvoie l'élément actuellement pointé par le pointeur interne du tableau. Le pointeur pointe initialement vers le premier élément du tableau. Utilisez la syntaxe suivante : $currentElement=current($array);2.key() fonction key() la fonction renvoie l'élément actuellement pointé par le pointeur interne du tableau

See all articles