


PHP utilise des fonctions récursives pour créer des répertoires multi-niveaux
Cet article présente principalement l'utilisation de fonctions récursives en PHP pour créer des répertoires multi-niveaux. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Les détails sont les suivants :
function Directory($dir){ if(is_dir($dir) || @mkdir($dir,0777)){ //查看目录是否已经存在或尝试创建,加一个@抑制符号是因为第一次创建失败,会报一个“父目录不存在”的警告。 echo $dir."创建成功<br>"; //输出创建成功的目录 }else{ $dirArr=explode('/',$dir); //当子目录没创建成功时,试图创建父目录,用explode()函数以'/'分隔符切割成一个数组 array_pop($dirArr); //将数组中的最后一项(即子目录)弹出来, $newDir=implode('/',$dirArr); //重新组合成一个文件夹字符串 Directory($newDir); //试图创建父目录 if(@mkdir($dir,0777)){ echo $dir."创建成功<br>"; } //再次试图创建子目录,成功输出目录名 } } Directory("A/B/C/D/E/F");
Le résultat de sortie est tel qu'indiqué dans la figure :
Mais cela peut être vu que c'est trop compliqué à écrire, en regardant les fonctions de fichier dans le manuel, j'ai vu une fonction dirname() , son prototype est le suivant :
string dirname ( string $path )
Étant donné une chaîne contenant le chemin complet d'un fichier, cette fonction renvoie le nom du répertoire après avoir supprimé le nom du fichier.
Sous Windows, la barre oblique (/) et la barre oblique inverse () peuvent être utilisées comme séparateurs de répertoire. Dans d'autres circonstances, il s'agit d'une barre oblique (/).
peut être légèrement optimisé :
function Directory($dir){ if(is_dir($dir) || @mkdir($dir,0777)){ echo $dir."创建成功<br>"; }else{ Directory(dirname($dir)); if(@mkdir($dir,0777)){ echo $dir."创建成功<br>"; } } }
L'effet est le même.
Après cela, j'ai cherché des réponses sur Internet et j'ai trouvé un extrêmement perspicace :
function Directory( $dir ){ return is_dir ( $dir ) or Directory(dirname( $dir )) and mkdir ( $dir , 0777); }
Maintenant, expliquons tout function:
Introduisez d'abord l'ordre de priorité des opérateurs logiques en PHP : && > et > ou, c'est-à-dire le type symbolique > type de lettre, type AND> type OR, de sorte que le corps de la fonction peut être vu comme :
is_dir ( $dir ) ou (Directory(dirname( $dir )) et mkdir ( $dir , 0777)) ;
Déterminez d'abord si le répertoire cible existe, s'il existe, en fonction des caractéristiques de court-circuit de ou, tout ce qui suit sera court-circuité et l'exécution sera. être ignoré ; si le répertoire cible n'existe pas, les fonctions suivantes seront exécutées :
Directory(dirname( $dir )) et mkdir ( $dir , 0777)
J'y ai penséd'abord Le but de la récursivité : Exécuter d'abord la récursivité pour confirmer que son répertoire parent (dirname($dir)) a été créé, afin que le suivant La fonction mkdir() n'émettra pas d'avertissement lorsqu'elle ne trouvera pas le répertoire parent lors de la création d'un sous-répertoire.
Après avoir entré la profondeur de la récursion, après avoir confirmé que le répertoire racine le plus profond existe, créez des répertoires dans l'ordre à partir du répertoire racine vers le bas. Enfin, je suggère à ceux qui recherchent un emploi d'aller en ligne et de trouver des questions d'entretien auprès des grandes entreprises. Après tout, leurs examens sont plus complets et plus approfondis. aussi revoir les questions. En plus, il faut aussi que je le fasse un peu, car c'est facile d'avoir trop d'ambition mais pas assez. J'ai optimisé la fonction au début plusieurs fois avant de pouvoir l'utiliser normalement. Il s'agit d'une question d'entretien sur la création récursive d'un répertoire multi-niveaux en PHP. À l'avenir, l'éditeur trouvera quelques questions d'entretien intéressantes à partager avec vous.Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
Recommandations associées :Utilisation des fonctions each et list en PHP
Recherche de localisation géographique PHP et calcul de distanceUtiliser les compétences
PHP pour obtenir des fichiers dans le répertoire
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

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 !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

PhpBecamepopularforwebDevelopmentDuetoitSeaseOflearning, Samoussentegration withhtml, widespreadhostingsupport, andalargecosystemysteclustingframeworkslikeLaravelandcmsplateformeslikewordpress.itexcelSinlingFormSubMissions, ManagetingSeSeSessions, interactif, interactif

TostayCurrentwithPhpDevelopments andBestPractices, suiventyewnewsources likephp.netandphpweekly, engagewithcommunitiesonforumums et conférences, keeptoolingupdated etgradualadoptnewfeatures, etreadorontruttetoopensourceprojects.

Tosetherighttimezoneinphp, usedate_default_timezone_set () Fonctionnellestartofyourscriptwithavalididentifiersuchas'america / new_york'.1.usedate_default_timezone_set () beforeanydate / timefunctions.20

La clé pour écrire le code PHP propre et facile à maintenir réside dans une dénomination claire, des normes suivantes, une structure raisonnable, une bonne utilisation des commentaires et une testabilité. 1. Utilisez des variables claires, des fonctions et des noms de classe, tels que $ userdata et calculatotalprice (); 2. Suivez le style de code unifié standard PSR-12; 3. Divisez la structure du code en fonction des responsabilités et organisez-la à l'aide de catalogues MVC ou de style Laravel; 4. Évitez le code de style nouilles et divisez la logique en petites fonctions avec une seule responsabilité; 5. Ajouter des commentaires aux points clés et écrire des documents d'interface pour clarifier les paramètres, les valeurs de retour et les exceptions; 6. Améliorer la testabilité, adopter l'injection de dépendance, réduire l'état mondial et les méthodes statiques. Ces pratiques améliorent la qualité du code, l'efficacité de la collaboration et la facilité de post-maintenance.

Oui, YouCanrunsqlQueriesUsingPhp, et theprocessInvolvesChoosingAdatabaseextenten, ConnectTotheDatabase, ExecutingQueessaFely, andcosingConnectionSwhendOne.Todothis, FirstChooseBetweenmysqliorpDo, avec unplaying

Toquicklytestaphpcodesnippet, useanonlinephpsandboxlike3v4l.orgorphpize.onlineForinstantexecution withoutsetup; runcodelocallywithphpclibycreatinga.phpfileAndexecutingitviatheterminal; optionallyelephp-rorers-liner

La mise à niveau de la version PHP n'est en fait pas difficile, mais la clé réside dans les étapes de fonctionnement et les précautions. Voici les méthodes spécifiques: 1. Confirmez la version PHP actuelle et l'environnement d'exécution, utilisez la ligne de commande ou le fichier phpinfo.php à afficher; 2. Sélectionnez la nouvelle version appropriée et installez-la. Il est recommandé de l'installer avec 8,2 ou 8,1. Les utilisateurs de Linux utilisent Package Manager et les utilisateurs de MacOS utilisent Homebrew; 3. Migrer les fichiers de configuration et les extensions, mettre à jour PHP.ini et installer les extensions nécessaires; 4. Testez si le site Web s'exécute normalement, vérifiez le journal des erreurs pour vous assurer qu'il n'y a pas de problème de compatibilité. Suivez ces étapes et vous pouvez terminer avec succès la mise à niveau dans la plupart des situations.

La mise en cache de page PHP améliore les performances du site Web en réduisant le chargement du serveur et en accélérant le chargement de la page. 1. Le cache de fichier de base évite la génération répétée de contenu dynamique en générant des fichiers HTML statiques et en fournissant des services pendant la période de validité; 2. Activer Opcache pour compiler les scripts PHP dans ByteCode et les stocker en mémoire, améliorant l'efficacité de l'exécution; 3. Pour les pages dynamiques avec des paramètres, ils doivent être mis en cache séparément en fonction des paramètres URL et éviter le contenu spécifique à l'utilisateur mis en cache; 4. Les bibliothèques de cache légères telles que PhpfastCache peuvent être utilisées pour simplifier le développement et prendre en charge plusieurs pilotes de stockage. La combinaison de ces méthodes peut optimiser efficacement la stratégie de mise en cache des projets PHP.
