Dans PHP, nous pouvons utiliser la fonction is_link () pour vérifier si un chemin donné est un lien symbolique. Un lien symbolique est un type spécial de fichier qui pointe vers un autre fichier ou répertoire. La fonction is_link () nous aide non seulement à déterminer si le fichier est un lien symbolique, mais nous permet également de vérifier si le chemin est valide.
La fonction is_link () est utilisée pour détecter si le chemin spécifié est un lien symbolique. Renvoie vrai si le chemin est un lien symbolique et que le lien existe, sinon retournez faux .
$path = '/path/to/symlink';
if (is_link($path)) {
echo "Ceci est un lien symbolique。\n";
} else {
echo "Ce n'est pas un lien symbolique。\n";
}
Le seul argument de la fonction is_link () est $ path , qui représente le chemin de fichier à vérifier. Ce chemin peut être un chemin absolu ou un chemin relatif.
Chemin absolu : tel que / var / www / html / symlink .
Chemin relatif : comme SymLink , qui pointe vers le fichier dans le répertoire de travail actuel.
Afin de déterminer si un lien symbolique est valide, nous devons nous assurer que le fichier cible indique qu'il existait. Si le fichier cible pointé par le lien symbolique n'existe pas, is_link () renvoie true , mais cela ne signifie pas que le lien est valide.
Nous pouvons combiner des fonctions is_link () et file_exists () pour vérifier si le lien symbolique est valide. La fonction file_exists () est utilisée pour vérifier si un fichier ou un répertoire existe.
$path = '/path/to/symlink';
if (is_link($path)) {
echo "Ceci est un lien symbolique。\n";
if (file_exists(readlink($path))) {
echo "Le fichier pointé par le lien symbolique existe。\n";
} else {
echo "Le fichier pointé par le lien symbolique n'existe pas。\n";
}
} else {
echo "Ce n'est pas un lien symbolique。\n";
}
Dans le code ci-dessus, nous utilisons d'abord IS_LINK () pour vérifier si le chemin est un lien symbolique. S'il s'agit d'un lien symbolique, nous utilisons readLink () pour obtenir le chemin du fichier cible vers le lien symbolique et utilisons File_exists () pour vérifier si le fichier cible existe.
En utilisant la fonction readLink () , nous pouvons obtenir le chemin de fichier auquel le lien symbolique pointe. Ceci est très utile pour déboguer et vérifier l'efficacité des liens symboliques.
$path = '/path/to/symlink';
if (is_link($path)) {
$target = readlink($path);
echo "Le fichier pointé par le lien symbolique est: $target\n";
} else {
echo "Ce n'est pas un lien symbolique。\n";
}
Si le chemin est une URL, pas un chemin de fichier local, nous pouvons vérifier s'il s'agit d'une URL valide via la fonction filter_var () . Par exemple, si nous avons un fichier vers lequel un lien d'URL pointe, nous pouvons vérifier de cette façon: