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.

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

Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:24