chmod

(PHP 3, PHP 4 , PHP 5)

chmod -- Zmení mód súboru

Popis

int chmod ( string nazovsuboru, int mod )

Pokúsi sa zmeniť mód súboru zadaného v parametri filename na mód zadaný v parametri mode.

Treba si všimnúť, že mod je automaticky pokladaný za hodnotu v osmičkovej sústave, čiže reťazce (ako napr. "g+w") nebudú pracovať správne. Ak chcete zaistiť správne fungovanie, musíte predradiť parametru mode nulu (0):

chmod ("/adresar/subor", 755);   // desiatková hodnota; pravdepodobne nesprávned
chmod ("/adresar/subor", "u+rwx,go+rx"); // reťazec; nesprávne
chmod ("/adresar/subor", 0755);  // osmičková hodnota; správna hodnota módu

Parameter mod obsahuje tri komponenty - čísla v osmičkovej sústave, ktoré určujú práva na prísup pre vlastníka súboru, skupinu v ktorej sa vlastník nachádza a pre ostatných užívateľov. Každé z týchto troch čísel možno vypočítať pripočítaním potrebných práv pre cieľový okruh užívateľov. Číslo 1 znamená pridelenie práv na vykonanie (execute), číslo 2 znamená pridelenie práva zapisovať do súboru, číslo 4 znamená právo čítať zadaný súbor. Spočítaním týchto čísel možno špecifikovať potrebné právo. O módoch v systémoch UNIX sa možno viac dočítať v 'man 1 chmod' a 'man 2 chmod'.

// Vlastník môže čítať a zapisovať, ostatní nemôžu nič
chmod ("/adresar/subor", 0600);

// Vlastník môže čítať a zapisovať, ostatní môžu čítať
chmod ("/adresar/subor", 0644);

// Vlastník má všetky práva, ostatní môžu čítať a vykonávať
chmod ("/adresar/subor", 0755);

// Vlastník má všetky práva, skupina vlastníka môže čítať a vykonávať
chmod ("/adresar/subor", 0750);

Poznámka: Aktuálny užívateľ je užívateľ pod ktorým beží PHP. Tento užívateľ nemusí byť ten istý ako užívateľ, ktorého používate pre shell alebo ftp.

Vracia TRUE pri �spechu alebe FALSE pri chybe.

Pozri tiež chown() a chgrp().