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);