Tells whether the filename is executable

- « is_dir

- is_file »

- PHP Manual
- Filesystem Functions
- Tells whether the filename is executable

# is_executable

(PHP 4, PHP 5, PHP 7, PHP 8)

is_executable — Tells whether the filename is executable

### Description

is_executable(string `$filename`): bool

Tells whether the filename is executable.

### Parameters

`filename`

  Path to the file.

### Return Values

Returns `true` if the filename exists and is executable, or `false` on error. On POSIX systems, a file is executable if the executable bit of the file permissions is set. For Windows, see the note below.

### Errors/Exceptions

Upon failure, an `E_WARNING` is emitted.

### Examples

Example #1 is_executable() example

    <?php

    $file = '/home/vincent/somefile.sh';

    if (is_executable($file)) {
        echo $file.' is executable';
    } else {
        echo $file.' is not executable';
    }

    ?>

### Notes

> Note: The results of this function are cached. See clearstatcache() for more details.

Tip

As of PHP 5.0.0, this function can also be used with some URL wrappers. Refer to Supported Protocols and Wrappers to determine which wrappers support stat() family of functionality.

> Note: On Windows, a file is considered executable, if it is a properly executable file as reported by the Win API `GetBinaryType()`; for BC reasons, files with a .bat or .cmd extension are also considered executable. Prior to PHP 7.4.0, any non-empty file with a .exe or .com extension was considered executable. Note that PATHEXT is irrelevant for is_executable().

### See Also

- is_file() - Tells whether the filename is a regular file
- is_link() - Tells whether the filename is a symbolic link