chown în PHP

Schimbă utilizatorul care deține un fișier.

Sintaxă
chown(string $filename, string|int $user): bool

Ce face chown

chown schimbă proprietarul fișierului, dat ca nume ("www-data") sau ca număr (UID). Pe Linux, doar utilizatorul root poate schimba proprietarul. Un script PHP obișnuit de pe un site primește Operation not permitted.

Se folosește mai ales în scripturile de instalare rulate ca administrator din linia de comandă.

Parametri

Parametru Descriere
$filename Calea fișierului.
$user Numele sau UID-ul noului proprietar.

Ce returnează

true la succes, false (cu avertisment) la eroare.

Exemple

Exemplul 1: Script de instalare rulat ca root

<?php
$director = "/var/www/magazin/uploads";

if (chown($director, "www-data") && chgrp($director, "www-data")) {
    echo "Directorul aparține acum serverului web";
}

Rezultat (rulat ca root)

Directorul aparține acum serverului web

Greșeli frecvente

  • Apelezi chown dintr-o pagină web și primești chown(): Operation not permitted. Serverul web nu are drepturi de administrator. Schimbă proprietarul din terminal sau din panoul de găzduire.

Comenzi înrudite

  • chgrp: Schimbă grupul care deține un fișier.
  • chmod: Schimbă permisiunile unui fișier sau director (cine îl poate citi, scrie sau rula).
  • fileowner: Returnează ID-ul numeric al utilizatorului care deține un fișier.
  • lchown: Schimbă proprietarul unei legături simbolice, nu al fișierului spre care indică.