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 — Indica si el archivo es ejecutable
Descripción
bool is_executable
( string $nombre_archivo
)
Indica si el archivo con el nombre dado es ejecutable.
Lista de parámetros
- nombre_archivo
-
Ruta al archivo.
Valores retornados
Devuelve TRUE si el archivo existe y es ejecutable, o FALSE en caso de error.
Registro de cambios
| Versión | Descripción |
|---|---|
| 5.0.0 | is_executable() se hizo disponible en Windows |
Ejemplos
Example #1 Ejemplo de is_executable()
<?php
$archivo = '/home/vincent/algun_archivo.sh';
if (is_executable($archivo)) {
echo $archivo.' es ejecutable';
} else {
echo $archivo.' no es ejecutable';
}
?>
Notes
Note: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.
Tip
A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Lista de Protocolos/Envolturas Soportadas, para obtener una lista con soporte para la funcionalidad stat().
is_executable
Buuyo
06-Aug-2004 07:51
06-Aug-2004 07:51
david at littlesystems dot com dot au
02-Jun-2002 03:38
02-Jun-2002 03: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.
