PHP.mk документација

is_executable

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.is-executable.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.is-executable.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
is_executable

Референца за `function.is-executable.php` со подобрена типографија и навигација.

function.is-executable.php

is_executable

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

is_executableПроверува дали името на датотеката е извршно

= NULL

is_executable(string $filename): bool

Проверува дали името на датотеката е извршно.

Параметри

filename

Патека до датотеката.

Вратени вредности

Патеката до PHP скриптата што треба да се провери. true ако името на датотеката постои и е извршно, или false при грешка. На POSIX системи, датотеката е извршна ако е поставен битот за извршување во дозволите на датотеката. За Windows, видете ја белешката подолу.

Errors/Exceptions

Бидејќи типот на податоци integer во PHP е со знакот и многу платформи користат 32-битни integers, некои функции за датотечниот систем може да вратат неочекувани резултати за датотеки поголеми од 2GB. E_WARNING се емитува.

Примери

Пример #1 is_executable() example

<?php

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

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

?>

Белешки

Забелешка: Имајте предвид дека резолуцијата на времето може да се разликува од еден датотечен систем до друг. clearstatcache() за повеќе детали.

Совети

Резултатите од оваа функција се кеширани. Погледнете some Од PHP 5.0.0, оваа функција може да се користи и со Поддржани протоколи и обвивки URL обвивки. Погледнете stat() за да се утврди кои обвивки поддржуваат

Забелешка: На Windows, датотеката се смета за извршна ако е правилно извршна датотека како што е пријавено од Win API GetBinaryType(); од BC причини, датотеките со .bat or .cmd екстензија исто така се сметаат за извршни. Пред PHP 7.4.0, секоја непразна датотека со .exe or .com екстензија се сметаше за извршна. Забележете дека PATHEXT е ирелевантно за is_executable().

Види Исто така

  • is_file() - Кажува дали името на датотеката е обична датотека
  • is_link() - Дали датотеката е симболичка врска

Белешки од корисници 5 белешки

[email protected]
пред 6 години
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;
}
Shyammakwana.me
пред 9 години
For windows users, 

It will return TRUE for EXE extensions. I have checked for MSI, but it returns FALSE.
ник на NOSPAM точка ogredata точка com
пред 6 години
This function returns the value for the process PHP is executing under.

/var/somebody/files was only executable by owner (700).

It contained world-readable files, but without execute permission, PHP could not access the directory to download the files.

is_executable() returned false.

Making the dir world-executable (701) gave access to PHP.  The download worked. And is_executable() returned true.

I assume that if I added PHP to the group of the folder and gave the group executable permission, that would also work.
telezhkin на gmail точка com
пред 6 години
Find no mention of this, but is_executable returns result for owner permissions only (not for group or other).
Анонимен
пред 5 години
Under windows, it seems to returns always false for directories.

I.e

<?php
$dir = __DIR__;
$result = is_executable($dir) ? 'true' : 'false';

if($result){
  echo $result;
}
?>

So do NOT use this to check if a folder is transversable because it will be system dependant code.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.