<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Le paragraphe suivant n'a rien à voir avec le contenu de l'article</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Accueillir PHP Poste d'étude!\n"</span></span><span>;
</span><span><span class="hljs-variable">$timestamp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">time</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Horodatage actuel:"</span></span><span> . </span><span><span class="hljs-variable">$timestamp</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-variable">$randomNumber</span></span><span> = </span><span><span class="hljs-title function_ invoke__">rand</span></span><span>(</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Exemple de nombre aléatoire:"</span></span><span> . </span><span><span class="hljs-variable">$randomNumber</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Démarrer le texte</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h1>Rencontrer une boucle morte de lien symbolique?utiliser readlink La solution de fonction est ici</h1>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>在使utiliser PHP Lors de l'exploitation du système de fichiers,Liens de symbole(symlink)Cela cause souvent des ennuis,尤其是当Liens de symbole出现死循环时,Les programmes peuvent tomber dans une récursivité infinie,Provoque l'épuisement de la mémoire ou le délai d'expiration du script。Heureusement,PHP Fourni <code>readlink()
"; Echo " Si le programme suit directement le lien, il continuera de boucler entre Link1 et Link2.
" ; écho "La fonction readLink () de PHP renvoie le chemin cible pointé par le lien symbolique sans le suivre directement. De cette manière, nous pouvons déterminer s'il y a une boucle morte dans le chemin avant l'opération:
" ; écho "\ $ path = '/ path / to / link1'; if (is_link (\ $ path)) { \ $ cible = readLink (\ $ path); Echo 'Symlink pointe vers:'. \ $ cible; } autre { écho «pas un lien symbolique»; }" ; Echo "
Lorsque vous traversez le système de fichiers, vous pouvez combiner readLink () et un tableau pour enregistrer les chemins accessibles:
" ; écho "\ $ visité = []; fonction résolveLink (\ $ path, & \ $ visité) { if (in_array (realPath (\ $ path), \ $ visité)) { Jetez une nouvelle exception («Link Symbolic Dead Loop détecté»); } \ $ visité [] = realPath (\ $ path); if (is_link (\ $ path)) { \ $ cible = readLink (\ $ path); return résolveLink (\ $ cible, \ $ visité); } autre { return \ $ path; } } essayer { \ $ finalPath = résolveLink ('/ path / to / link1', \ $ visité); Echo 'Final Chemin:'. \ $ finalPath; } catch (exception \ $ e) { Echo 'Erreur:'. \ $ e-> getMessage (); }" ; Echo "
Les liens de symboles sont très pratiques dans les systèmes de fichiers, mais ils peuvent également causer des problèmes de boucle morte. En utilisant la fonction ReadLink () de PHP, nous pouvons obtenir en toute sécurité des cibles de liens symboliques et éviter les boucles mortes en enregistrant les chemins d'accès. Après avoir maîtrisé cette technique, vos opérations de système de fichier seront plus sécurisées et fiables.
" ; ?>