is_executable

(PHP 4, PHP 5, PHP 7)

is_executableBir dosyanın çalıştırılabilir bir dosya olup olmadığını söyler

Açıklama

is_executable ( string $dosyaismi ) : bool

Belirtilen dosyanın çalıştırılabilir bir dosya olup olmadığını söyler.

Değiştirgeler

dosyaismi

Dosyanın yolu.

Dönen Değerler

dosyaismi ile belirtilen dosya mevcutsa ve çalıştırılabilir bir dosya ise TRUE aksi takdirde FALSE döndürür.

Sürüm Bilgisi

Sürüm: Açıklama
5.0.0 is_executable() işlevi Windows üzerinde de kullanılabilir oldu.

Örnekler

Örnek 1 - is_executable() örneği

<?php

$dosya 
'/home/vincent/somefile.sh';

if (
is_executable($dosya)) {
    echo 
$dosya.' çalıştırılabilir';
} else {
    echo 
$dosya.' çalıştırılamaz';
}

?>

Notlar

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi edinmek için clearstatcache() işlevine bakınız.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesini Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulabilirsiniz.

Ayrıca Bakınız

  • is_file() - Bir dosyanın sıradan bir dosya olup olmadığını söyler
  • is_link() - Bir dosyanın sembolik bağ olup olmadığını söyler

add a note add a note

User Contributed Notes 3 notes

up
11
Shyammakwana.me
3 years ago
For windows users,

It will return TRUE for EXE extensions. I have checked for MSI, but it returns FALSE.
up
1
divinity76 at gmail dot com
6 months 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
7 months ago
Find no mention of this, but is_executable returns result for owner permissions only (not for group or other).
To Top