Podręcznik PHP
Poprzedni |  | Następny

# chmod

(PHP 3, PHP 4, PHP 5)

chmod -- Zmienia prawa dostępu do pliku

## Opis

bool chmod ( string nazwa_pliku, bool prawa )

Dokonuje zmiany praw pliku podanego w parametrze nazwa_pliku na podane w prawa.

Pamiętaj, że parametr prawa nie jest automatycznie zastępowany wartością oktalną (ósemkową), więc łańcuchy (takie jak "g+w") nie będą poprawnie interpretowane. Aby zapewnić poprawność operacji musisz parametr prawa poprzedzić prefixem zero (0):

`<?php chmod("/somedir/somefile", 755); // dziesiętnie; prawdopodobnie nieprawidłowo chmod("/somedir/somefile", "u+rwx,go+rx"); // łańcuch; nieprawidłowo chmod("/somedir/somefile", 0755); // ósemkowo; poprawna wartość dla praw ?>`

Parametr prawa zawiera trzy cyfry w systemie ósemkowym określające prawa dostępu dla właściciela, grupy do której on należy oraz wszystkich innych. Jedna cyfra może zostać obliczona poprzez dodanie do siebie potrzebnych uprawnień. Cyfra 1 oznacza nadanie praw do wykonania, cyfra 2 oznacza, że plik będzie zapisywalny, cyfra 4 oznacza, że plik będzie można odczytać. Dodając te cyfry określamy potrzebne uprawnienia. Więcej o prawach w systemie Unix można przeczytać w 'man 1 chmod' i 'man 2 chmod'.

`<?php // Odczyt i zapis dla właściciela, żadnych praw dla innych chmod("/katalog/plik", 0600); // Odczyt i zapis dla właściciela, odczyt dla wszystkich chmod("/katalog/plik", 0644); // Wszystkie prawa dla właściciela, odczyt i wykonanie dla innych chmod("/katalog/plik", 0755); // Wszystkie prawa dla właściciela, odczyt i wykonanie dla grupy właściciela chmod("/katalog/plik", 0750); ?>`

Zwraca `TRUE` w przypadku sukcesu, `FALSE` w przypadku porażki.

> Notatka: Bieżący użytkownik to użytkownik pod którym działą PHP. Prawdpodobnie nie jest to ten sam użytkownik, którego używasz normalnie przy dostępie do shell'a lub FTP. W większości systemów, prawa mogą być zmienione jedynie przez właściciela pliku.

> Notatka: Ta funkcja nie będzie działać dla zdalnych plików, ponieważ przetwarzany plik musi być dostępny poprzez system plików serwera.

> Notatka: Kiedy włączony jest tryb bezpieczny, PHP sprawdza czy pliki lub katalogi na których mają zostać wykonane operacje posiadają taki sam UID (właściciela) jak skrypt, który jest wykonywany. W dodatku, nie możesz ustawić SUI, SGID i bitów lepkości (sticky bits).

Patrz także: chown() i chgrp().

Poprzedni | Spis treści | Następny
chgrp | Początek rozdziału | chown