I expected this function to return FALSE or 0 if a symbolic link did not exist (per the documentation above), but that's not what happened. Reading the man page for the Linux kerne's stat call here: http://www.kernel.org/doc/man-pages/online/pages/man2/stat.2.html it says this:
RETURN VALUE - On success, zero is returned. On error, -1 is returned, and errno is set appropriately.
... which is what is happening in my case. I am doing a linkinfo('/path/to/file'); on a missing symlink, and I get back a value of -1. As we know, a value of -1 is not going to evaluate to a FALSE or 0.
My point - be careful with return values for missing symlinks.
linkinfo
(PHP 4, PHP 5)
linkinfo — Renvoie les informations d'un lien
Description
int linkinfo
( string
$path
)Renvoie les informations d'un lien.
Cette fonction est utilisée pour vérifier si un lien (pointé
par le chemin path) existe réellement
(en utilisant la même méthode que la macro S_ISLNK, définie dans
stat.h).
Liste de paramètres
-
path -
Chemin vers le lien.
Valeurs de retour
linkinfo() retourne le champ st_dev
de la structure stat Unix C, retourné par l'appel système
lstat. Si une erreur survient, la fonction
retournera 0 ou FALSE.
Historique
| Version | Description |
|---|---|
| 5.3.0 | Cette fonction est maintenant disponible sous Windows (Vista, Server 2008 ou plus récent). |
Exemples
Exemple #1 Exemple avec linkinfo()
<?php
echo linkinfo('/vmlinuz'); // 835
?>
Voir aussi
- symlink() - Crée un lien symbolique
- link() - Crée un lien
- readlink() - Renvoie le contenu d'un lien symbolique
rjb at robertjbrown dot com ¶
1 year ago
