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
설명
bool is_executable
( string $filename
)
Tells whether the filename is executable.
인수
- filename
-
Path to the file.
반환값
Returns TRUE if the filename exists and is executable, or FALSE on error.
변경점
| 버전 | 설명 |
|---|---|
| 5.0.0 | is_executable() became available with Windows |
예제
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';
}
?>
주의
Note: 이 함수의 결과는 캐시에 저장합니다. 자세한 설명은 clearstatcache()를 참고하십시오.
Tip
PHP 5.0.0부터 이 함수는 몇몇 URL 래퍼를 사용할 수 있습니다. 기능적으로 stat() 패밀리를 지원하는 래퍼 목록은 지원 프로토콜/래퍼 목록를 참고하십시오.
is_executable
Buuyo
06-Aug-2004 10:51
06-Aug-2004 10:51
david at littlesystems dot com dot au
02-Jun-2002 06:38
02-Jun-2002 06: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.
