Podręcznik PHP
Poprzedni |  | Następny

# chmod

(PHP 3, PHP 4 )

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.

> 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