Position actuelle: Accueil> Derniers articles> Vous voulez obtenir le répertoire parent du fichier? Essayez comment implémenter la fonction dirname en php

Vous voulez obtenir le répertoire parent du fichier? Essayez comment implémenter la fonction dirname en php

gitbox 2025-06-23

En développement, nous devons souvent obtenir le chemin du répertoire parent du fichier, en particulier dans des scénarios tels que le fonctionnement du fichier et le traitement des chemins. Il est particulièrement important de comprendre comment obtenir facilement et rapidement le répertoire parent du fichier. PHP offre une fonction très simple et pratique - dirname () pour obtenir le chemin du répertoire parent du fichier. Cet article analysera en détail l'utilisation de la fonction dirname () et ses applications communes.

1. Introduction à la fonction dirname ()

Dirname () est une fonction intégrée en PHP qui obtient le chemin du répertoire parent d'un fichier. Cette fonction renvoie la partie du répertoire dans le chemin donné et est généralement utilisée pour extraire le dossier où le fichier réside à partir du chemin complet.

Syntaxe de fonction:

 <span><span><span class="hljs-title function_ invoke__">dirname</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$path</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$levels</span></span><span> = </span><span><span class="hljs-number">1</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>
</span></span>
  • $ chemin : doit représenter le chemin complet du fichier.

  • Niveaux $ : facultatif, spécifiant le nombre de couches du répertoire parent à retourner, la valeur par défaut est 1. Si la valeur des niveaux de $ est 2, le répertoire parent du répertoire parent est renvoyé, etc.

2. Comment utiliser la fonction dirname ()

2.1 Obtenez le répertoire parent direct du fichier

Le scénario d'utilisation le plus courant consiste à obtenir le répertoire parent direct d'un fichier. Supposons que nous ayons un chemin de fichier /var/www/html/index.php , nous pouvons facilement obtenir son répertoire parent / var / www / html à l'aide de la fonction dirname () .

Exemple de code:

 <span><span><span class="hljs-variable">$file_path</span></span><span> = </span><span><span class="hljs-string">'/var/www/html/index.php'</span></span><span>;
</span><span><span class="hljs-variable">$parent_dir</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dirname</span></span><span>(</span><span><span class="hljs-variable">$file_path</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$parent_dir</span></span><span>;  </span><span><span class="hljs-comment">// Sortir: /var/www/html</span></span><span>
</span></span>

Dans le code ci-dessus, dirname () renvoie le répertoire parent Path / var / www / html du fichier index.php .

2.2 Obtenez un répertoire parent multicouche

Parfois, nous devons obtenir le répertoire où le fichier est plus élevé. En définissant le paramètre de niveau $ , nous pouvons contrôler le niveau de répertoire parent renvoyé. Par exemple, obtenez le répertoire parent du répertoire parent d' Index.php .

Exemple de code:

 <span><span><span class="hljs-variable">$file_path</span></span><span> = </span><span><span class="hljs-string">'/var/www/html/index.php'</span></span><span>;
</span><span><span class="hljs-variable">$parent_dir_level2</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dirname</span></span><span>(</span><span><span class="hljs-variable">$file_path</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$parent_dir_level2</span></span><span>;  </span><span><span class="hljs-comment">// Sortir: /var/www</span></span><span>
</span></span>

Dans cet exemple, dirname ($ file_path, 2) renvoie / var / www , c'est-à-dire le répertoire parent du répertoire parent du fichier.

3. L'application pratique de la fonction dirname ()

3.1 Obtenez dynamiquement le répertoire parent du fichier de script actuel

Dans certains cas, nous voulons obtenir le chemin du répertoire où se trouve le script PHP actuel, en particulier lorsque vous traitez des fichiers inclut ou effectuant des calculs de chemin. Nous pouvons atteindre cette exigence par la combinaison de la fonction __File__ constante et de la fonction dirname () .

Exemple de code:

 <span><span><span class="hljs-variable">$current_file</span></span><span> = </span><span><span class="hljs-keyword">__FILE__</span></span><span>;
</span><span><span class="hljs-variable">$parent_dir</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dirname</span></span><span>(</span><span><span class="hljs-variable">$current_file</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$parent_dir</span></span><span>;
</span></span>

__File__ renvoie le chemin absolu du script actuel et combiné avec dirname (), vous pouvez obtenir le chemin du répertoire parent du script actuel.

3.2 Créer des chemins avec d'autres fonctions

Dirname () est également souvent utilisé avec d'autres fonctions de manipulation de chemin, en particulier lors de la création de chemins relatifs ou de systèmes de fichiers de traitement. Via dirname () , nous pouvons facilement traiter le chemin du fichier.

Exemple de code:

 <span><span><span class="hljs-variable">$file_path</span></span><span> = </span><span><span class="hljs-string">'/var/www/html/index.php'</span></span><span>;
</span><span><span class="hljs-variable">$parent_dir</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dirname</span></span><span>(</span><span><span class="hljs-variable">$file_path</span></span><span>);
</span><span><span class="hljs-variable">$full_path</span></span><span> = </span><span><span class="hljs-variable">$parent_dir</span></span><span> . </span><span><span class="hljs-string">'/assets/style.css'</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$full_path</span></span><span>;  </span><span><span class="hljs-comment">// Sortir: /var/www/html/assets/style.css</span></span><span>
</span></span>

Ici, nous obtenons le répertoire parent d' Index.php via dirname () , puis épissons un chemin de fichier sous-répertoire et générons un nouveau chemin de fichier.

4. Choses à noter

  • La fonction dirname () est très sensible à savoir s'il y a des barres obliques à la fin du chemin. S'il y a une barre oblique à la fin du chemin, il sera supprimé automatiquement. Par exemple, dirname ('/ var / www / html /') renvoie / var / www .

  • Soyez prudent avec le cas du chemin lors de l'utilisation de dirname () , en particulier lors du portage entre des systèmes tels que Linux et Windows.

  • Si le chemin n'est pas valide ou n'existe pas, Dirname () renvoie toujours un chemin de répertoire parent valide, mais ce n'est peut-être pas le répertoire réel.

5. Résumé

Dirname () est une fonction PHP simple mais très pratique qui peut aider les développeurs à obtenir rapidement le chemin du répertoire parent d'un fichier. En utilisant cette fonction raisonnablement, il est possible de traiter facilement les chemins de fichier, d'améliorer la maintenabilité et la portabilité du code. Qu'il s'agisse d'obtenir dynamiquement le répertoire de script actuel ou de traiter avec des structures d'annuaire multicouches, dirname () est un outil valable.