This was originally posted to php-general, but for some reason I believe
it may belong here. I apologize if I'm wrong.
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
difficult on me. ;)
Thanks for any input..
J. Jones
P.S. The script ran as root, so filesystem permissions aren't the issue.
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]