PHP - chmod
Návody pro C4
Funkce chmod() umožňuje nastavit přístupová práva souboru nebo adresáře. Funkce má dva parametry:
- cestu k souboru (resp. adresáři),
- hodnotu přístupových práv v osmičkové (oktalové) soustavě.
Funkce chmod() vrací TRUE po úspěšném provedení, v případě neúspěchu vrací FALSE.
Zápis přístupových práv v osmičkové soustavě je vysvětlen v návodu Přístupová práva k souborům.
Následuje příklad skriptu, který nastaví přístupová práva 444 (symbolickým zápisem -r--r--r--) na soubor config.php, který je umístěn v kořenovém adresáři webu:
<?php $cesta_k_souboru = $_SERVER['DOCUMENT_ROOT'].'/config.php'; $return = chmod($cesta_k_souboru, 0444); if($return) echo "Chmod probehl uspesne."; else echo "Chmod skoncil chybou."; ?>
Všimněte si, že v kódu jsou přístupová práva zadána s nulou na začátku, tj. je tam 0444. Pokud bychom hodotu přístupových práv zadali bez nuly na začátku, tj. ve tvaru 444, PHP by ji chápalo jako číslo v desítkové soustavě (což je po převodu do osmičkové soustavy jiné číslo a sice 674). Když před číslo napíšeme nulu, tak ho PHP interpretuje jako zápis v osmičkové soustavě. Proto nezapomeňte v PHP kódu před osmičkovou hodnotou přístupových práv psát nulu, jinak se nastaví úplně jiná práva (po převodu z desítkové soustavy do osmičkové) než jste chtěli.
Standardní práva
Pokud v PHP vytváříte soubory a adresáře, kopírujete soubory nebo děláte jiné operace, při kterých se vytváří nové soubory, tak se nové soubory (resp. adresáře) vytvoří automaticky se standardními právy, což je v případě souborů 644 a v případě adresářů 2755 nebo 755. Soubory nebo adresáře se standardními právy jsou plně funkční jak z webu (na soubor se standardními právy lze přistoupit přes webový prohlížeč), tak v PHP skriptech (v adresáři se standardními právy lze z PHP skriptu vytvářet soubory a podadresáře). Na serverech hostingu Webhosting C4 není nutné pomocí funkce chmod() nastavovat na nově vytvořené soubory nebo adresáře práva na 777. Jestli má soubor (nebo adresář) standardní práva nebo 777, z hlediska funkčnosti v tom není vůbec žádný rozdíl.
Související odkazy
- http://www.php.net/manual/en/function.chmod.php - originální dokumentace k funkci chmod() (v angličtině)
- http://cs.wikipedia.org/wiki/Osmičková_soustava - popis osmičkové (oktalové) soustavy
Diskuzní fórum pro článek PHP - chmod
Nové diskuzní téma můžete založit v sekci PHP, MySQL.
Změny a kontroly
K dispozici je kompletní přehled všech změn a kontrol v tomto návodu.
PHP - chmod
Publikace: | 16.5.2009 |
Přehled změn a kontrol |
Diskuzní fórum
- Webové aplikace
- Tvorba web stránek
- PHP, MySQL