Funkcje Systemu plików
PHP Manual

chmod

(PHP 4, PHP 5)

chmodZmienia prawa dostępu do pliku

Opis

bool chmod ( string $nazwa_pliku , int $prawa )

Próbuje dokonać zmiany praw pliku na podane w prawa.

Parametry

nazwa_pliku

Ścieżka do pliku.

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

Zwracane wartości

Zwraca TRUE w przypadku powodzenia, FALSE w przypadku błędu.

Notatki

Informacja:

Bieżący użytkownik to użytkownik pod którym działa 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.

Informacja: Ta funkcja nie będzie działać na zdalnych plikach, ponieważ przetwarzany plik musi być dostępny w systemie plików serwera.

Informacja:

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

Zobacz też:


Funkcje Systemu plików
PHP Manual