Re: is_link() behavior

From: Date: Wed, 25 Apr 2001 06:46:11 +0000
Subject: Re: is_link() behavior
References: 1 2 3 4 5 6 7 8 9 10  Groups: php.dev 
Request: Send a blank email to php-dev+get-52365@lists.php.net to get a copy of this message
On Wed, Apr 25, 2001 at 09:33:47AM +0200, Andi Gutmans wrote: > OK. I commited one more patch which should fix filetype() and lstat(). I'd > appreciate it if you can take a minute and just make sure they work now and > that I didn't cause any problems with the fixed is_link(). > It's not my code so that's why I'm messing with it slowly. It had some > dependencies inside the code and I wanted to make sure I keep it consistent. > > Andi > Looks perfect.. lstat() and filetype() both work fine on the broken symlink.. as does is_link(). I'd call it fixed. ;) file_exists() still 'fails' on a broken symlink, but perhaps it should. That could get a little on the philosophical side. Thanks alot for the quick fix! Jeremy Just for the record.. here's the code.. and then its output. --code function link_func_test ($file) { if ( is_link ($file)) { print ("is_link() passed\n"); } else { print ("is_link() failed\n"); } if (($link_target = readlink ($file))) { print ("readlink() passed: $link_target\n"); } else { print ("readlink() failed\n"); } if (($temp_filetype = filetype ($file))) { print ("filetype() passed: $temp_filetype\n"); } else { print ("filetype() failed\n"); } if (($temp_lstat = lstat ($file))) { print ("lstat() passed:\n\n"); print_r ($temp_lstat); } else { print ("lstat() failed\n"); } if (file_exists ($file)) { print ("file_exists() passed:\n"); } else { print ("file_exists() failed\n"); } } $file = '/tmp/test-link-func'; @ unlink ($file); if (symlink ('/bin/false', $file)) { link_func_test ($file); } else { print ("Good symlink failed\n"); } @ unlink ($file); if (symlink ('/this/file/does/not/exist', $file)) { link_func_test ($file); } else { print ("Bad symlink failed\n"); } --end --output :(01:39am ~/php): ./fs-test.php is_link() passed readlink() passed: /bin/false filetype() passed: link lstat() passed: Array ( [0] => 770 [1] => 749 [2] => 41471 [3] => 1 [4] => 0 [5] => 0 [6] => 0 [7] => 10 [8] => 988180923 [9] => 988180923 [10] => 988180923 [11] => 4096 [12] => 1 ) file_exists() passed: is_link() passed readlink() passed: /this/file/does/not/exist filetype() passed: link lstat() passed: Array ( [0] => 770 [1] => 749 [2] => 41471 [3] => 1 [4] => 0 [5] => 0 [6] => 0 [7] => 25 [8] => 988180923 [9] => 988180923 [10] => 988180923 [11] => 4096 [12] => 1 ) file_exists() failed --end

« previous php.dev (#52365) next »