Forum und email

chmod

(PHP 4, PHP 5)

chmod — Skifter fil rettigheder

Beskrivelse

bool chmod ( string $filename , int $mode )

Forsøger at skifte rettigheder på filen, specificeret med filename til rettighederne defineret af mode .

Bemærk at mode ikke automatisk antager om det er en octal værdi, så strenge (som "g+w") vil ikke virke korrekt. For at sikre, operationen bliver udført korrekt, skal du, tildele mode et foranstillet nul (0):

<?php
chmod
("/sti/til/fil"755);   // decimal; sikkert forkert   
chmod("/sti/til/fil""u+rwx,go+rx"); // string; forkert       
chmod("/sti/til/fil"0755);  // octal; den korrekte værdi
?>

mode parametret, består, af tre octale numre hvis kombination, specificerer rettighederne for filen, overfor, ejeren, gruppen hvori ejeren er medlem, og til alle andre, i denne orden. Kombinationen kan blive lavet ved at tilføje de nødvendige, for bruger basen. Nummer 1 giver da eksekverbare rettigheder, nummer 2, giver dig ret til at skrive til filen. Nummer 4 giver rettigheder til at læse fra filen. Læg numrene sammen foir at specificere rettigheden. Du kan også læse mere om rettighederne på unix systemer, med 'man 1 chmod' og 'man 2 chmod'.

<?php
// Gør en fil skrivbar og læsbar for ejeren, ingen andre kan intet gøre
chmod("/sti/til/fil"0600);

// Læs og skriveadgang for ejeren, alle andre kan læse
chmod("/sti/til/fil"0644);

// Alle rettigheder til ejeren, andre kan eksekvere og læse
chmod("/sti/til/fil"0755);

// Alle rettigheder til ejeren, hans gruppe kan eksekvere og læse, resten kan intet
chmod("/somedir/somefile"0750);
?>

Returnerer TRUE ved succes, FALSE ved fejl.

Note: Den nuværende bruger, er den bruger hvorunder PHP kører. Det er højstsandsynlig ikke den samme bruger, som du bruger til din normale shell, eller til FTP adgang.

Note: Denne funktion vil ikke virke på fjernfiler da filen som skal undersøges skal være tilgængelig på servers filsystem.

Note: Når safe mode er aktiveret, vil PHP tjekke hvorvidt filer eller bibliotekerne du er ved at modificere, har samme UID (ejer) som det script der bliver eksekveret. Som tilføjelse kan du ikke ændre, SUID, SGID eller speccielle bits.

Se også chown() og chgrp().