is_executable în PHP

Informații despre fișiere PHP 4+ (pe Windows: PHP 5.0+)

Verifică dacă un fișier poate fi rulat ca program.

Sintaxă
is_executable(string $filename): bool

Ce face is_executable

is_executable returnează true dacă fișierul există și are drept de rulare pentru utilizatorul cu care rulează PHP. Pe Linux, dreptul vine din permisiuni (de exemplu 0755). Pe Windows, contează extensia (.exe, .bat și altele).

Parametri

Parametru Descriere
$filename Calea fișierului.

Ce returnează

true dacă poate fi rulat, altfel false.

Exemple

Exemplul 1: Un script fără și cu drept de rulare

<?php
file_put_contents("backup.sh", "#!/bin/sh\necho gata\n");
var_dump(is_executable("backup.sh"));

chmod("backup.sh", 0755);
var_dump(is_executable("backup.sh"));

Rezultat

bool(false)
bool(true)

Greșeli frecvente

  • Verifici un program după nume (is_executable("convert")). Funcția nu caută în PATH, ci în directorul curent. Dă calea completă, de exemplu /usr/bin/convert.

Comenzi înrudite

  • chmod: Schimbă permisiunile unui fișier sau director (cine îl poate citi, scrie sau rula).
  • fileperms: Returnează permisiunile unui fișier, ca număr; se afișează de obicei în octal, de exemplu 644.
  • exec: Rulează o comandă a sistemului de operare și returnează ultima linie afișată de ea.