Zdá se, že používáte zastaralý a nepodporovaný prohlížeč Internet Explorer. Některé části webu proto nebudou fungovat stejně jako v moderních prohlížečích Firefox, Chrome, MS Edge

Kovářova kobyla

Nastavení práv k souborům v PHP pod Windows

Nastavení práv k souborům pomocí chmod v PHP pod Windows samozřejmě nefunguje kvůli odlišnému souborovému systému. Nicméně aspoň něco chmod ve Windows dokáže: umí nastavit atribut read-only. Například

chmod("file.txt", 0111);

atribut nastaví a

chmod("file.txt", 0777);

ho zase odstraní. Pro úplnost, fungují i jiné hodnoty: 0111, 0444, 0555 příznak nastaví a 0222, 0333, 0666, 0777 ho odstraní. Na základě testování v PHP 5.4 pod Win7 se jako jediná skutečně důležitá hodnota jeví druhá číslice v pořadí, tedy 0111 je totéž jako 0122.

K čemu je to dobré? Nastavení příznaku read-only zamezí zápisu do souboru. To se hodí při psaní unit testů testujících chování při selhání zápisu do souboru - před spuštěním stačí jednoduše souboru nastavit příznak read-only. Důležité je po testu opět příznak odstranit, aby bylo možné v tearDown metodě testovací soubor smazat.

Špatnou zprávou je, že read-only zamezí pouze zápisu do souboru. Adresářům se sice pomocí chmod dá také nastavit příznak read-only, ale uložení nového souboru do adresáře to nezabrání.

Vyšlo v rubrice PHP

Komentáře