The change doesn't appear to be documented, so I thought I would mention it. In php5, as opposed to php4, you can no longer rely on is_executable to check the executable bit on a directory in 'nix. You can still use the first note's method to check if a directory is traversable:
@file_exists("adirectory/.");
is_executable
(PHP 4, PHP 5)
is_executable — Tells whether the filename is executable
Description
bool is_executable
( string $filename
)
Tells whether the filename is executable.
Parameters
- filename
-
Path to the file.
Return Values
Returns TRUE if the filename exists and is executable, or FALSE on error.
Changelog
| Version | Description |
|---|---|
| 5.0.0 | is_executable() became available with Windows |
Examples
Example #1 is_executable() example
<?php
$file = '/home/vincent/somefile.sh';
if (is_executable($file)) {
echo $file.' is executable';
} else {
echo $file.' is not executable';
}
?>
Notes
Note: The results of this function are cached. See clearstatcache() for more details.
Tip
As of PHP 5.0.0, this function can also be used with some URL wrappers. Refer to List of Supported Protocols/Wrappers for a listing of which wrappers support stat() family of functionality.
is_executable
Buuyo
06-Aug-2004 05:51
06-Aug-2004 05:51
david at littlesystems dot com dot au
02-Jun-2002 01:38
02-Jun-2002 01:38
to test whether the directory /home/david is executable (regardless of whether it is readable or writeable), issue the command:
$my_isWriteable = @file_exists("/home/david/.")
the @ gets rid of the warning when this command fails when the directory is not executable.
