downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

lstat> <link
[edit] Last updated: Fri, 23 Mar 2012

view this page in

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 linkinfo
rjb at robertjbrown dot com 21-Feb-2012 01:14
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.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites