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 — Проверява дали даден файл е изпълним
Описание
bool is_executable
( string $filename
)
Проверява дали даден файл е изпълним.
Параметри
- filename
-
Път до файла.
Връщани стойности
Връша TRUE ако файла filename е изпълним или FALSE ако не е.
Дневник на промените
| Версия | Описание |
|---|---|
| 5.0.0 | is_executable() became available with Windows |
Примери
Example #1 is_executable() пример
<?php
$file = '/home/vincent/somefile.sh';
if (is_executable($file)) {
echo $file.' е изпълним';
} else {
echo $file.' не е изпълним';
}
?>
Бележки
Забележка: Резултатите от тази функция са кеширани. Виж clearstatcache() за повече подробности.
Съвет
От PHP 5.0.0 тази функция може също да бъде използвана с някои URL опаковачи (wrappers). Виж List of Supported Protocols/Wrappers за списък с опаковачите, които поддържат stat() семейството от функции.
Buuyo
06-Aug-2004 03:51
david at littlesystems dot com dot au
01-Jun-2002 11: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.
