Ok, je comprends. Ce qui suit est le contenu de l'article, qui comprend les lignes de séparation entre le contenu non pertinent et le texte principal en fonction de vos exigences.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Ceci est une condition préalable qui n'a rien à voir avec le contenu de l'article PHP Exemple de code</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 class="hljs-subst">$timestamp</span></span></span><span>\n";
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-comment"># exister PHP milieu,Comment passer `is_executable` Pour vérifier l'exécutabilité des fichiers de liens symboliques?</span></span><span>
exister PHP milieu,`</span><span><span class="hljs-title function_ invoke__">is_executable</span></span><span>()` Les fonctions sont utilisées pour vérifier si le fichier spécifié a des autorisations exécutables。en général,Il peut être utilisé directement dans des fichiers réguliers,Mais lorsqu'il rencontre un lien symbolique(symlink)heure,La situation est légèrement différente。Cet article présentera comment l'utiliser en détail `is_executable` Pour vérifier l'exécutabilité des fichiers de liens symboliques。
</span><span><span class="hljs-comment">## 1. `is_executable()` Utilisation de base</span></span><span>
`is_executable` L'utilisation de base est la suivante:
```php
</span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-string">'/path/to/your/file'</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_executable</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">"<span class="hljs-subst">$file</span></span></span><span> C'est un fichier exécutable";
} </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">$file</span></span></span><span> 不C'est un fichier exécutable";
}
</span></span>Cette fonction renvoie True ou False , selon que l'utilisateur actuel a des autorisations d'exécution sur le fichier.
Lorsque vous vérifiez le lien symbolique, Is_Execuable () ne vérifie pas les autorisations du lien symbolique lui-même, mais vérifie l'exécutabilité du fichier cible auquel il pointe. Par exemple:
<span><span><span class="hljs-variable">$symlink</span></span><span> = </span><span><span class="hljs-string">'/path/to/symlink'</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_executable</span></span><span>(</span><span><span class="hljs-variable">$symlink</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Liens de symbole <span class="hljs-subst">$symlink</span></span></span><span> Le fichier pointé est exécutable";
} </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">"Liens de symbole <span class="hljs-subst">$symlink</span></span></span><span> Le fichier pointé n'est pas exécutable";
}
</span></span>Remarque ici:
Renvoie True si le fichier cible pointé par le lien symbolique existe et est exécutable.
Si le fichier cible n'existe pas, renvoyez false .
Si le lien symbolique lui-même ne pointe pas vers aucun fichier valide, renvoyez false .
Parfois, vous voudrez peut-être connaître explicitement le chemin vers lequel le lien symbolique pointe, vous pouvez utiliser readLink () :
<span><span><span class="hljs-variable">$symlink</span></span><span> = </span><span><span class="hljs-string">'/path/to/symlink'</span></span><span>;
</span><span><span class="hljs-variable">$target</span></span><span> = </span><span><span class="hljs-title function_ invoke__">readlink</span></span><span>(</span><span><span class="hljs-variable">$symlink</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$target</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">"Liens de symbole指向: <span class="hljs-subst">$target</span></span></span><span>\n";
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_executable</span></span><span>(</span><span><span class="hljs-variable">$target</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Le fichier d'objet peut être exécutable"</span></span><span>;
} </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">"Le fichier d'objet n'est pas exécutable"</span></span><span>;
}
} </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">"这不是有效的Liens de symbole"</span></span><span>;
}
</span></span>Cela rend plus clair que l'exécutabilité concerne le fichier cible plutôt que le lien symbolique lui-même.
Différence multiplateforme : les liens de symbole sont pris en charge dans les systèmes Windows, et IS_EXECUTable peut se comporter différemment de Linux ou MacOS.
Problème des autorisations : Même si le fichier a des autorisations exécutables, FALSE sera renvoyé si l'utilisateur exécutant le script PHP n'a pas l'autorisation d'y accéder.
Sécurité : Méfiez-vous des attaques SymLink lors de la gestion des liens symboliques téléchargés ou générés dynamiquement par les utilisateurs.
is_execuable () peut vérifier si le fichier est exécutable, y compris la cible indiquée par le lien symbolique.
Pour les liens symboliques, la fonction vérifie les autorisations du fichier cible, pas le lien lui-même.
Vous pouvez combiner readLink () pour clarifier le chemin cible pour améliorer la lisibilité et la sécurité de la logique du programme.
Grâce aux méthodes ci-dessus, vous pouvez juger de manière fiable l'exécutabilité des fichiers de liens symboliques dans PHP, gérant ainsi en toute sécurité et efficacement les autorisations de fichiers.
<hr> <? PHP // Il s'agit d'un exemple de code PHP de queue qui n'est pas lié au contenu de l'article. Echo "La vérification de l'article est terminée \ n"; ?> <span></span>
Étiquettes associées:
is_executable