Forum und email

chmod

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

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