is_executable

is_executable($filename)

Gibt true zurück, wenn die Datei existiert und ausführbar ist. Unter Linux entscheidet das Ausführungsrecht (x) für den Benutzer, unter dem PHP läuft, unter Windows die Dateiendung.

Parameter

  • $filename – der Pfad zur Datei.

Beispiele

// das PHP-Programm selbst ist ausführbar
var_dump(is_executable(PHP_BINARY)); // bool(true)
$file = sys_get_temp_dir() . "/garth-beispiel.txt";
file_put_contents($file, "x");
var_dump(is_executable($file)); // bool(false)
unlink($file);
// eine fehlende Datei: false ohne Warnung
var_dump(is_executable($file)); // bool(false)

Worauf Sie achten sollten

  • Unter Windows entscheidet die Endung: Dateien .exe geben true zurück, andere (auch die Stapeldateien .bat und .cmd) false.
  • Unter Linux wird das Recht für den Benutzer beurteilt, unter dem PHP läuft (im Web meist www-data oder der Benutzer des Hostings), nicht für Sie.
  • PHP merkt sich das Ergebnis während des Skripts, nach chmod() aus einem anderen Programm rufen Sie clearstatcache() auf.

Verwandte Funktionen:
is_readable()
is_writable()
fileperms()
chmod()
file_exists()