PHP 5.5.20 is available

linkinfo

(PHP 4, PHP 5)

linkinfoPobiera informacje o linku

Opis

int linkinfo ( string $ścieżka )

linkinfo() zwraca pole st_dev o strukturze unix'owej funkcji (języka C) stat, pole zwracane jest poprzez wywołanie systemowe lstat. Ta funkcja używana jest do weryfikacji czy link (wskazywany przez ścieżkę) naprawdę istnieje (używana jest ta sama metoda co w makrze S_ISLNK zdefiniowanym w stat.h). Zwraca 0 lub FALSE w przypadku błędu.

Przykład #1 przykład linkinfo()

<?php

echo linkinfo('/vmlinuz'); // 835

?>

Informacja: Ta funkcja nie jest dostępna na platformie Windows.

Patrz także: symlink(), link() i readlink().

add a note add a note

User Contributed Notes 1 note

up
-2
rjb at robertjbrown dot com
2 years ago
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.
To Top