Vytvoření adresáře, nastavení práv

Adresář vytvoříte jednoduše pomocí funkce mkdir(). První parametr obsahuje název adresáře, druhý nepovinný parametr obsahuje požadovaná práva (v oktalové interpretaci). Na tato práva se může aplikovat maska a výsledná práva tím ovlivnit. Masku změníte příkazem umask().

<?php
  umask 
(0022);  
  
mkdir ("adresar1");            //vysledna prava 0755
  
mkdir ("adresar2"0777);      //vysledna prava 0755
  
mkdir ("adresar3"0755);      //vysledna prava 0755

  
umask (0);
  
mkdir ("adresar4");            //vysledna prava 0777
  
mkdir ("adresar5"0777);      //vysledna prava 0777
  
mkdir ("adresar6"0755);      //vysledna prava 0755

  
umask (0007);
  
mkdir ("adresar7");            //vysledna prava 0770
  
mkdir ("adresar8"0777);      //vysledna prava 0770
?>

Maska v podstatě "odečítá" nastavenou hodnotu od zadaných práv v případě, kdy by překročily maskou stanovená práva. Nechcete-li, aby byla oprávnění maskou jakkoliv ovlivňována, vynulujte ji pomocí umask(0);.

U našich webserverů jsou všechny soubory/adresáře vlastněny stejným uživatelem, ať už byly vytvořeny v PHP nebo přes FTP. Pro čtení/zápis prostřednictvím PHP postačují i práva 700 (adresář) nebo 600 (soubor). Pokud má být soubor čitelný pro internetové prohlížeče (tedy přes http), nastavte souboru 644.

Na soubory s koncovkou .php (a ty, se kterými skript pracuje) se vztahuje pozice user (600), pro ostatní soubory volané přes http platí pozice others (004).

Podrobnější informace k popisovaným funkcím naleznete v dokumentaci PHP

 

Související stránky