<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Ce n'est pas lié au contenu de l'articlePHPExemple de code,L'initialisation peut être placée、Configuration et autres contenus</span></span><span>
</span><span><span class="hljs-comment">// Par exemple,Définir le fuseau horaire</span></span><span>
</span><span><span class="hljs-title function_ invoke__">date_default_timezone_set</span></span><span>(</span><span><span class="hljs-string">'Asia/Shanghai'</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
<h2>PHP rewinddiretreaddirComment utiliser les fonctions pour lire efficacement le contenu des répertoires?</h2>
<p>existerPHPmilieu,Lors du contenu des répertoires d'exploitation,Les fonctions couramment utilisées incluent <code></span><span><span class="hljs-title function_ invoke__">opendir</span></span><span>()
RewindDir () Repoint le pointeur de la poignée du répertoire vers le début du répertoire. Autrement dit, vous pouvez appeler cette fonction lorsque vous avez lu à la fin du répertoire, mais que vous souhaitez à nouveau traverser à partir de zéro.
Dans les applications pratiques, il est parfois nécessaire de lire le contenu du même répertoire plusieurs fois, tels que le premier filtrage des fichiers qui remplissent les conditions, puis de les traiter. À l'heure actuelle, l'utilisation de RewindDir () peut éviter les appels répétés vers OpenDir () et améliorer l'efficacité.
</span><span><span class="hljs-variable">$dir</span></span><span> = </span><span><span class="hljs-title function_ invoke__">opendir</span></span><span>(</span><span><span class="hljs-string">'/path/to/dir'</span></span><span>);
</span><span><span class="hljs-comment">// La première traversée:Lisez tous les fichiers,Découvrir tous.phpdocument</span></span><span>
</span><span><span class="hljs-variable">$phpFiles</span></span><span> = [];
</span><span><span class="hljs-keyword">while</span></span><span> ((</span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-title function_ invoke__">readdir</span></span><span>(</span><span><span class="hljs-variable">$dir</span></span><span>)) !== </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">pathinfo</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, PATHINFO_EXTENSION) === </span><span><span class="hljs-string">'php'</span></span><span>) {
</span><span><span class="hljs-variable">$phpFiles</span></span><span>[] = </span><span><span class="hljs-variable">$file</span></span><span>;
}
}
</span><span><span class="hljs-comment">// Retour au début du répertoire,Effectuer une deuxième traversée(Si nécessaire)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">rewinddir</span></span><span>(</span><span><span class="hljs-variable">$dir</span></span><span>);
</span><span><span class="hljs-comment">// La deuxième traversée:打印所有document名,Utilisation de la démonstrationrewinddir</span></span><span>
</span><span><span class="hljs-keyword">while</span></span><span> ((</span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-title function_ invoke__">readdir</span></span><span>(</span><span><span class="hljs-variable">$dir</span></span><span>)) !== </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"document名: <span class="hljs-subst">$file</span></span></span><span>\n";
}
</span><span><span class="hljs-title function_ invoke__">closedir</span></span><span>(</span><span><span class="hljs-variable">$dir</span></span><span>);
Grâce à la coopération raisonnable de RewindDir () et ReadDir () , les programmes PHP peuvent lire efficacement et de manière flexible les contenus des répertoires, réduire la consommation de ressources et améliorer la maintenabilité et les performances du code.