<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Le début de l'article(Pas de contenu)</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
---
</span><span><span class="hljs-comment"># PHP Comment déterminer si le chemin est un répertoire?utiliser stat() Les fonctions peuvent être facilement identifiées</span></span><span>
exister PHP milieu,C'est une opération très courante pour déterminer si un chemin est un répertoire,尤其exister文件系统操作milieu,Le programme doit juger du type de chemin pour exécuter différentes logiques。PHP Il existe de nombreuses façons d'accomplir cette tâche,其milieu `</span><span><span class="hljs-title function_ invoke__">stat</span></span><span>()` Les fonctions sont un outil très puissant,Vous pouvez obtenir les détails du fichier via lui,Y compris déterminer si le chemin est un répertoire。
</span><span><span class="hljs-comment">## Qu'est-ce que `stat()` fonction?</span></span><span>
`</span><span><span class="hljs-title function_ invoke__">stat</span></span><span>()` fonctionutiliser于获取关于指定文件或目录的信息。Il renvoie un tableau,Contient diverses métadonnées pour les fichiers ou les répertoires,Y compris la taille du fichier、Autorisation、Temps de modification, etc.。La chose la plus importante est,`</span><span><span class="hljs-title function_ invoke__">stat</span></span><span>()` 还可以utiliser来判断文件或路径的类型,Ceci est très efficace pour déterminer si le chemin est un répertoire。
</span><span><span class="hljs-comment">### `stat()` fonction的基本utiliser法</span></span><span>
`</span><span><span class="hljs-title function_ invoke__">stat</span></span><span>()` fonction的语法如下:
```php
</span><span><span class="hljs-title function_ invoke__">stat</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$filename</span></span><span>): </span><span><span class="hljs-keyword">array</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
$ nom de fichier est le chemin d'accès au fichier ou au répertoire qui doit être détecté.
Si le chemin existe et lu avec succès, stat () renvoie un tableau contenant des informations de fichier.
Si le chemin n'existe pas ou si une erreur se produit, false est renvoyé.
La clé pour déterminer si le chemin est un répertoire est les champs de développement et de mode dans le tableau renvoyé par la fonction stat () . Le champ Mode indique le type et les autorisations du fichier. Nous pouvons vérifier si le chemin est un répertoire en vérifiant la valeur du champ Mode .
Plus précisément, la valeur de mode dans le tableau renvoyé par stat () peut être bit-to-bit et a fonctionné avec le S_IFDIR constant pour confirmer si le fichier est un répertoire.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$path</span></span><span> = </span><span><span class="hljs-string">'/path/to/your/directory'</span></span><span>;
</span><span><span class="hljs-variable">$stat</span></span><span> = </span><span><span class="hljs-title function_ invoke__">stat</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$stat</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span> && (</span><span><span class="hljs-variable">$stat</span></span><span>[</span><span><span class="hljs-string">'mode'</span></span><span>] & </span><span><span class="hljs-number">0170000</span></span><span>) === </span><span><span class="hljs-number">0040000</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$path</span></span></span><span> C'est un répertoire";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$path</span></span></span><span> 不C'est un répertoire";
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
$ stat ['mode'] & 0170000 consiste à effectuer un bit et un fonctionnement en mode fichier pour obtenir le type de fichier.
Si le résultat est égal à 0040000 , le chemin est un répertoire.
Le tableau renvoyé par STAT () contient également d'autres informations, telles que la taille du fichier, le temps de modification, etc., qui peut être utilisée davantage au besoin.
En plus de Stat () , PHP a également une fonction spécifiquement utilisée pour déterminer si le chemin est un répertoire IS_DIR () , qui l'utilise très simple:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$path</span></span><span> = </span><span><span class="hljs-string">'/path/to/your/directory'</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_dir</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$path</span></span></span><span> C'est un répertoire";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$path</span></span></span><span> 不C'est un répertoire";
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
La fonction is_dir () est suffisante pour la plupart des cas, il renvoie une valeur booléenne: vrai si le chemin est un répertoire, autrement faux .
Cependant, si vous avez besoin d'informations sur le fichier plus détaillées ou si vous souhaitez obtenir plus de métadonnées via Stat () , STAT () sera un meilleur choix.
En PHP, il existe plusieurs façons de déterminer si un chemin est un répertoire. L'utilisation de la fonction stat () peut obtenir plus d'informations sur le chemin d'accès, en particulier lorsque des opérations de système de fichiers plus complexes sont nécessaires. En vérifiant le champ Mode , nous pouvons facilement déterminer si le chemin est un répertoire. De plus, bien que la fonction is_dir () soit simple, elle est suffisante pour la plupart des scénarios d'application.
Le choix de la bonne méthode peut vous aider à utiliser le système de fichiers plus efficacement.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// La fin de l'article(Pas de contenu)</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>