chmod

funkcja

Ustawia uprawnienia pliku lub katalogu. Przyjmuje wartość ósemkową (np. 0644). Zwraca true przy sukcesie.

chmod(string $filename, int $permissions): bool

chmod zmienia uprawnienia pliku analogicznie do polecenia systemowego chmod. Parametr $permissions musi być liczbą ósemkową — zapisz go z prefiksem 0 (np. 0644), nie jako string '644'.

Typowe wartości:

| Uprawnienia | Znaczenie | |-------------|-----------| | 0644 | właściciel czyta/pisze; grupa i reszta tylko czytają | | 0755 | właściciel pełny dostęp; reszta czyta i wykonuje | | 0600 | tylko właściciel czyta i pisze |

Na serwerach współdzielonych (shared hosting) PHP działa jako inny użytkownik niż właściciel pliku — chmod może wtedy zwrócić false. Po wywołaniu odśwież cache: clearstatcache().

<?php
declare(strict_types=1);

$sciezka = sys_get_temp_dir() . '/config.php';
file_put_contents($sciezka, '<?php return [];');

if (!chmod($sciezka, 0600)) {
    throw new \RuntimeException('Nie można zmienić uprawnień.');
}

clearstatcache();
echo substr(sprintf('%o', fileperms($sciezka)), -4) . PHP_EOL; // 0600

unlink($sciezka);