<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Exemple de code de cet article,Démontrer comment l'utiliser PHP de glob Fonctions pour la correspondance des fichiers</span></span><span>
</span><span><span class="hljs-comment">// glob 是一个用于查找符合模式de文件路径de函数,Soutenir les personnages génériques</span></span><span>
</span><span><span class="hljs-comment">// 这里是文章内容de前置无关代码示例,Simuler la structure du code dans l'environnement réel</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">dummyFunction</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-string">"Ce code n'a rien à voir avec le sujet de l'article,Pour la démonstration seulement"</span></span><span>;
}
</span><span><span class="hljs-title function_ invoke__">dummyFunction</span></span><span>();
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
<h1>Comment utiliser PHP glob 函数高效匹配不同de文件扩展名?</h1>
<p>exister PHP milieu,<code></span><span><span class="hljs-title function_ invoke__">glob</span></span><span>()
Par exemple, faites correspondre tous les fichiers .txt dans le répertoire actuel:
<span class="fun"></span> <span> <span class = "hljs-variable"> $ files </span> </span> <span> = </span> <span> <span class = "hljs-title function_ invoke __"> glob </span> </span> <span> (</ span> <pan> <span class = "hljs-string"> "*.</span>
Il s'agit de la méthode la plus intuitive, appelant GLOB plusieurs fois respectivement, puis fusionnant le tableau:
</span><span><span class="hljs-variable">$extensions</span></span><span> = [</span><span><span class="hljs-string">'jpg'</span></span><span>, </span><span><span class="hljs-string">'png'</span></span><span>, </span><span><span class="hljs-string">'gif'</span></span><span>];
</span><span><span class="hljs-variable">$files</span></span><span> = [];
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$extensions</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$ext</span></span><span>) {
</span><span><span class="hljs-variable">$files</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_merge</span></span><span>(</span><span><span class="hljs-variable">$files</span></span><span>, </span><span><span class="hljs-title function_ invoke__">glob</span></span><span>(</span><span><span class="hljs-string">"*.<span class="hljs-subst">{$ext}</span></span></span><span>"));
}
L'inconvénient est que le système de fichiers doit être lu plusieurs fois, ce qui est légèrement moins efficace.
Le glob de PHP prend en charge les extensions de bracelet similaires à Bash, mais nécessite le drapeau glob_brace :
</span><span><span class="hljs-variable">$files</span></span><span> = </span><span><span class="hljs-title function_ invoke__">glob</span></span><span>(</span><span><span class="hljs-string">"*.{jpg,png,gif}"</span></span><span>, GLOB_BRACE);
De cette façon, plusieurs extensions peuvent être adaptées à un seul appel, ce qui est plus efficace.
</span><span><span class="hljs-comment">// utiliser GLOB_BRACE Faire correspondre plusieurs extensions à la fois</span></span><span>
</span><span><span class="hljs-variable">$files</span></span><span> = </span><span><span class="hljs-title function_ invoke__">glob</span></span><span>(</span><span><span class="hljs-string">"*.{jpg,png,gif}"</span></span><span>, GLOB_BRACE);
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$files</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$file</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Trouver le fichier: "</span></span><span> . </span><span><span class="hljs-variable">$file</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
L'utilisation de l'extension de l'attelle de glob () avec l'indicateur glob_brace est une solution simple pour correspondre efficacement à plusieurs extensions de fichiers en php. Cette méthode est recommandée pour être préférée si la compatibilité le permet. Sinon, des fonctions similaires peuvent être obtenues en appelant Glob () plusieurs fois et en fusionnant les résultats.
J'espère que cet article peut vous aider à mieux utiliser les fonctions PHP Glob pour gérer les tâches de correspondance des fichiers!