chmod - 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.
Jak pisałem wcześniej wystarczyło zajrzeć do manuala.