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 — Bir dosyanın çalıştırılabilir bir dosya olup olmadığını söyler
Açıklama
bool is_executable
( string
$dosyaismi
)Belirtilen dosyanın çalıştırılabilir bir dosya olup olmadığını söyler.
Değiştirgeler
-
dosyaismi -
Dosyanın yolu.
Dönen Değerler
dosyaismi ile belirtilen dosya mevcutsa ve
çalıştırılabilir bir dosya ise TRUE aksi takdirde FALSE döndürür.
Sürüm Bilgisi
| Sürüm: | Açıklama |
|---|---|
| 5.0.0 | is_executable() işlevi Windows üzerinde de kullanılabilir oldu. |
Örnekler
Örnek 1 - is_executable() örneği
<?php
$dosya = '/home/vincent/somefile.sh';
if (is_executable($dosya)) {
echo $dosya.' çalıştırılabilir';
} else {
echo $dosya.' çalıştırılamaz';
}
?>
Notlar
Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi edinmek için clearstatcache() işlevine bakınız.
İpucu
PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesini Supported Protocols and Wrappers başlığı altında bulabilirsiniz.
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.
