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 List of Supported Protocols/Wrappers para uma lista de quais wrappers são suportados pela família de funções 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.
