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 — Bir bağ hakkında bilgi verir
Açıklama
int linkinfo
( string
$yol
)Bir bağ hakkında bilgi verir.
Bu işlev yol değiştirgesi ile belirtilen bağın
gerçekte etkin olup olmadığını (stat.h dosyasında
tanımlı S_ISLNK makrosunun kullandığı yöntemle) sınamak için kullanılır.
Değiştirgeler
-
yol -
Bağ dosyasının yolu.
Dönen Değerler
linkinfo() işlevi lstat sistem
çağrısından dönen Unix C stat yapısının st_dev alanının
içeriğini döndürür. Bir hata durumunda 0 veya FALSE döndürür.
Sürüm Bilgisi
| Sürüm: | Açıklama |
|---|---|
| 5.3.0 | İşlev Windows platformlarında da (Vista, Server 2008 ve üstü) kullanılabilir oldu. |
Örnekler
Örnek 1 - linkinfo() örneği
<?php
echo linkinfo('/vmlinuz'); // 835
?>
Ayrıca Bakınız
- symlink() - Bir sembolik bağ oluşturur
- link() - Sabit bir bağ oluşturur
- readlink() - Bir sembolik bağın hedefi ile döner
rjb at robertjbrown dot com ¶
1 year ago
