Autor | Zpráva | ||
---|---|---|---|
blizzboz Profil |
#1 · Zasláno: 17. 10. 2010, 19:49:09
Do môjho CMS som pridal inštalačný skript ktorý vždy pri inštalovaní CMS na server nastaví automaticky niektorým adresárom potrebné prístupové práva (napr. adresáre config a upload na 777) zistil som ale že php funkcia chmod je kompatibilná len s liuxom a unixovými systémami a ak nastavím vo Windows súborom atribút 777 tak sa to Windows interpretuje ako Read Only súbory. Existuje nejaká php funkcia ktorá nastavuje súborom atribúty aj vo Windows? A existuje v PHP funkcia ktorá mi zistí operačný systém?
|
||
Davex Profil |
#2 · Zasláno: 17. 10. 2010, 20:34:38
blizzboz:
„ak nastavím vo Windows súborom atribút 777 tak sa to Windows interpretuje ako Read Only súbory“ Správně bys měl nastavovat práva v osmičkové soustavě 0777 .
|
||
blizzboz Profil |
#3 · Zasláno: 17. 10. 2010, 20:37:33
Davex:
jj to nastavujem |
||
Medvídek Profil |
#4 · Zasláno: 17. 10. 2010, 20:37:39
A nejlépe přes ftp_chmod()
|
||
Davex Profil |
#5 · Zasláno: 17. 10. 2010, 21:12:54
Volání funkce
chmod('soubor', 0777) atribut read-only na Apache s PHP 5.3.1 pod Windows XP nenastavuje. Možná máš práva 0777 v uvozovkách nebo apostrofech, těžko říct.
|
||
AM_ Profil |
#6 · Zasláno: 18. 10. 2010, 12:08:58
chmod pod windows nastavovat nejde, protože oprávnění ve windows jsou řešena úplně jinak, než v unixu, a 0777 na windowsech nemá žádný smysl.
Koneckonců ve windows jsou dvě odlišné věci atributy (system, hidden, read-only, archive a nově komprimovat, šifrovat) a oprávnění (uživatel/oprávnění k akci na souboru). Že by PHP mělo vestavěný nástroj pro konfiguraci oprávnění ve windows nevím, ale na druhou stranu na windows serverech bývá většinou zápis do souborů pro PHP povolen. |
||
František Hliva Profil |
#7 · Zasláno: 19. 10. 2010, 00:49:58
Mno tak so prišiel na to že som sa mýlil chmod je kompatibilný aj s Windows, len ja som atribúty načítaval z XMLka takže som ich nezadával v osmičkovej sústave ale stringy sa konvertovali do 10tkovej aj keď bola na začiatku nula. Vyriešil som to funkciu octdec.
chmod('test2', octdec($atribut)); AM: Ja som si to tiež myslel, ale kupodivu unixový chmod je komatibilný s windows teraz som to odtestoval. 0777 windows interpretuje ako atribút -a-- |
||
Časová prodleva: 14 let
|
0