Ce face fileowner
fileowner returnează numărul utilizatorului (UID) proprietar al fișierului. Pentru numele utilizatorului ai nevoie de extensia POSIX: posix_getpwuid(fileowner($f))["name"].
Este util când verifici de ce PHP nu poate modifica un fișier: compari proprietarul cu utilizatorul cu care rulează scriptul.
Parametri
| Parametru | Descriere |
|---|---|
$filename |
Calea fișierului. |
Ce returnează
UID-ul proprietarului sau false la eroare.
Exemple
Exemplul 1: Fișier creat de script
Un fișier creat de PHP aparține utilizatorului cu care rulează PHP. Aici, același utilizator deține și scriptul, deci UID-urile sunt egale.
<?php
touch("nou.txt");
var_dump(fileowner("nou.txt") === getmyuid());
Rezultat
bool(true)
Exemplul 2: Numele proprietarului
<?php
$uid = fileowner("/var/www/magazin/config.php");
echo $uid . " = " . posix_getpwuid($uid)["name"];
Rezultat posibil (depinde de server)
33 = www-data
Greșeli frecvente
- Te aștepți la un nume de utilizator. Funcția returnează un număr. Pentru nume folosește
posix_getpwuid.