Position actuelle: Accueil> Derniers articles> Dirname et Pathinfo peuvent-ils être utilisés ensemble? Exemple de désassemblage d'informations de chemin et de fichier

Dirname et Pathinfo peuvent-ils être utilisés ensemble? Exemple de désassemblage d'informations de chemin et de fichier

gitbox 2025-08-05
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Cette partie du code n&#39;a rien à voir avec le contenu de l&#39;article,Juste un échantillon de démonstration</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Bienvenue à lire cet article!"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/**
 * dirname et pathinfo Peut-il être utilisé ensemble?路径et文件信息拆解示例
 * 
 * exister PHP milieu,Lors du traitement des chemins de fichier,dirname et pathinfo Ce sont tous des fonctions très couramment utilisées。
 * Ils sont utilisés pour obtenir des parties différentes du chemin respectivement,Cet article expliquera leur utilisation et s&#39;ils peuvent être utilisés en combinaison,
 * 并通过示例演示如何拆解路径et文件信息。
 */</span>

<span class="hljs-comment">/**
 * dirname fonction
 * 
 * dirname() 用于返回路径milieu父目录的路径。
 * Il peut accepter le deuxième paramètre,Utilisé pour spécifier le niveau retourné。
 */</span>
</span><span><span class="hljs-variable">$filepath</span></span><span> = </span><span><span class="hljs-string">"/var/www/html/index.php"</span></span><span>;

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Chemin d&#39;origine: "</span></span><span> . </span><span><span class="hljs-variable">$filepath</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;

</span><span><span class="hljs-comment">// Obtenez le répertoire précédent</span></span><span>
</span><span><span class="hljs-variable">$parentDir</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dirname</span></span><span>(</span><span><span class="hljs-variable">$filepath</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Répertoire précédent: "</span></span><span> . </span><span><span class="hljs-variable">$parentDir</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;

</span><span><span class="hljs-comment">// Obtenez le répertoire à deux niveaux précédent</span></span><span>
</span><span><span class="hljs-variable">$grandParentDir</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dirname</span></span><span>(</span><span><span class="hljs-variable">$filepath</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-string">"Répertoire à deux niveaux: "</span></span><span> . </span><span><span class="hljs-variable">$grandParentDir</span></span><span> . </span><span><span class="hljs-string">"\n\n"</span></span><span>;

<span class="hljs-comment">/**
 * pathinfo fonction
 * 
 * pathinfo() Retourner un tableau,Nom du répertoire contenant un chemin de fichier、Nom de base、扩展名etnom de fichier(Extension prolongée)。
 * Vous pouvez également obtenir une pièce spécifique en passant le deuxième paramètre。
 */</span>
</span><span><span class="hljs-variable">$pathInfo</span></span><span> = </span><span><span class="hljs-title function_ invoke__">pathinfo</span></span><span>(</span><span><span class="hljs-variable">$filepath</span></span><span>);

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"pathinfo La structure du tableau retourné:\n"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$pathInfo</span></span><span>);

</span><span><span class="hljs-comment">// Obtenez uniquement les extensions de fichiers</span></span><span>
</span><span><span class="hljs-variable">$extension</span></span><span> = </span><span><span class="hljs-title function_ invoke__">pathinfo</span></span><span>(</span><span><span class="hljs-variable">$filepath</span></span><span>, PATHINFO_EXTENSION);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Extension de fichier: "</span></span><span> . </span><span><span class="hljs-variable">$extension</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;

</span><span><span class="hljs-comment">// Obtenez uniquement les noms de fichiers(Extension prolongée)</span></span><span>
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-title function_ invoke__">pathinfo</span></span><span>(</span><span><span class="hljs-variable">$filepath</span></span><span>, PATHINFO_FILENAME);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"nom de fichier(Extension prolongée): "</span></span><span> . </span><span><span class="hljs-variable">$filename</span></span><span> . </span><span><span class="hljs-string">"\n\n"</span></span><span>;

<span class="hljs-comment">/**
 * dirname et pathinfo Peut-il être utilisé ensemble?
 * 
 * La réponse est oui。
 * Vous pouvez l&#39;utiliser en premier dirname Obtenez le chemin du répertoire parent,Utiliser à nouveau pathinfo Détails de l&#39;analyse des chemins de niveau supérieur,
 * Ou combinez les deux pour traiter séparément différentes parties du chemin。
 * Par exemple,你想获取文件所exister目录的Répertoire précédent的nom de fichier信息,Peut faire ça:
 */</span>

</span><span><span class="hljs-variable">$parentDir</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dirname</span></span><span>(</span><span><span class="hljs-variable">$filepath</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"文件所exister目录: <span class="hljs-subst">$parentDir</span></span></span><span>\n";

</span><span><span class="hljs-comment">// Résoudre les informations du chemin du répertoire parent</span></span><span>
</span><span><span class="hljs-variable">$parentDirInfo</span></span><span> = </span><span><span class="hljs-title function_ invoke__">pathinfo</span></span><span>(</span><span><span class="hljs-variable">$parentDir</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Informations sur le chemin du répertoire parent:\n"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$parentDirInfo</span></span><span>);

<span class="hljs-comment">/**
 * Résumer:
 * - dirname 用于获取路径milieu的父目录部分,Convient pour les répertoires de la récursivité des niveaux supérieurs。
 * - pathinfo 用于获取路径milieu目录名、nom de fichieret扩展名等详细信息。
 * - 两者结合使用能更灵活地拆解et处理文件路径。
 */</span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>