is_link() behavior

From: Date: Tue, 24 Apr 2001 02:34:49 +0000
Subject: is_link() behavior
Groups: php.general 
Request: Send a blank email to php-general+get-49999@lists.php.net to get a copy of this message
Forgive me for my ignorance, but I've noticed some unwanted behavior (IMO, at least) with the is_link() function. Given the simple code.. if ( is_link ("/tmp/this_is_a_symlink") ) print ("Success\n"); and the file.. lrwxrwxrwx 1 root root 5 Apr 23 21:19 /tmp/this_is_a_symlink -> /bin/ the above obviously prints 'Success\n'. However, if I break the symlink, with something like the following.. lrwxrwxrwx 1 root root 4 Apr 23 21:21 /tmp/this_is_a_symlink -> foo the script fails with.. Warning: stat failed for /tmp/this_is_a_symlink (errno=2 - No such file or directory) in ./test.php on line 3. The file /tmp/this_is_a_symlink is still a symlink, so it seems to me that the is_link() function should still return true, whether or not the symlink's target exists. Is there perhaps a function I have yet to discover that provides that behavior, without verifying the link's target? I ask this because much of linux's /proc contains (intentionally) broken symlink's and is_link()'s behavior is making the scouring of /proc very difficult on me. ;) Thanks for any input.. J. Jones

« previous php.general (#49999) next »