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 — Diz se um arquivo é executável
Descrição
bool is_executable
( string $filename
)
Diz se no nomedoarquivo existe e é executável.
Parâmetros
- filename
-
Caminho para o arquivo.
Valor Retornado
Retorna TRUE se o nome do arquivo existe e é executável, ou FALSE em erro.
Histórico
| Versão | Descrição |
|---|---|
| 5.0.0 | is_executable() tornou-se disponível em Windows |
Exemplos
Exemplo #1 Exemplo da is_executable()
<?php
$file = '/home/vincent/arquivo.sh';
if(is_executable($file)) {
echo $file.' é executável';
} else {
echo $file.' não é executável';
}
?>
Notas
Nota: O resultado desta função é cacheada. Veja clearstatcache() para mais detalhes.
Dica
A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Supported Protocols and Wrappers para uma lista de quais wrappers são suportados pela família de funções 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.
