PHP 7.4.0 alpha 1 Released

is_executable

(PHP 4, PHP 5, PHP 7)

is_executableIndica si el nombre de archivo es ejecutable

Descripción

is_executable ( string $filename ) : bool

Indica si el nombre de archivo es ejecutable.

Parámetros

filename

Ruta del archivo.

Valores devueltos

Devuelve TRUE si el nombre de archivo existe y es ejecutable, o FALSE si se produjo un error.

Ejemplos

Ejemplo #1 Ejemplo de is_executable()

<?php

$archivo 
'/home/vincent/archivo.sh';

if (
is_executable($archivo)) {
    echo 
$archivo.' es ejecutable';
} else {
    echo 
$archivo.' no es ejecutable';
}

?>

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Notas

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • is_file() - Indica si el nombre de fichero es un fichero normal
  • is_link() - Indica si el nombre de archivo es un enlace simbólico

add a note add a note

User Contributed Notes 3 notes

up
9
Shyammakwana.me
2 years ago
For windows users,

It will return TRUE for EXE extensions. I have checked for MSI, but it returns FALSE.
up
0
divinity76 at gmail dot com
22 days ago
is_executable() does not check the PATH environment variable, so if your current working dir is /dir/ and you have /bin/ in your PATH env and the file /bin/ffmpeg exists, then you can still run shell_exec("ffmpeg"), but is_executable("ffmpeg") will return false.

if you're looking for a version of is_executable that also considers the PATH environment variable, then try this:

<?php

function is_executable_pathenv(string $filename): bool
{
    if (
is_executable($filename)) {
        return
true;
    }
    if (
$filename !== basename($filename)) {
        return
false;
    }
   
$paths = explode(PATH_SEPARATOR, getenv("PATH"));
    foreach (
$paths as $path) {
        if (
is_executable($path . DIRECTORY_SEPARATOR . $filename)) {
            return
true;
        }
    }
    return
false;
}
up
0
telezhkin at gmail dot com
1 month ago
Find no mention of this, but is_executable returns result for owner permissions only (not for group or other).
To Top