HttpUploadedFile::move jiný mode než 0644
- mkoubik
- Člen | 728
Narazil jsem na problém, když jsem potřeboval nastavit uploadovanému souboru právo na spuštění – v metodě move je napevno nastavený mode 0644. Vyřešil jsem to takhle je to ok (resp. hodilo by se to i někomu jinému)? Posílám pull request https://github.com/…tte/pull/141.
Editoval mkoubik (20. 10. 2010 14:09)
- David Grudl
- Nette Core | 8218
A není jednodušší prostě po volání $file->move(...)
zavolat chmod($file, 0644)
?
- Honza Marek
- Člen | 1664
Tak pokud to neni vyloženě potřeba, nepřidával bych ho. Příště si může někdo vzpomenou na nějaký další parametr a postupnou evolucí jich tam vznikne 50. A což teprve, kdyby přišel někdo na něco opravdu užitečného? Z důvodu zpětné kompatibility se to objeví jako padesátý první parametr?
- hrach
- Člen | 1838
nastavení práva uploadovaný soubor je imho dost důležité a argumenty
jsou dost liché. Metoda by měla dělat to, co její název předučuje. Pokud
dělá toho „víc“, to víc mělo být aspoň konfigurovatelné, když už
nemůžu to „víc“ obejít zaviláním samotné metody.
move a nastavení práv jsou dvě věci. buď move nic nastavovat nemá, nebo by
to mělo být nastavitelné přes parametr.
- David Grudl
- Nette Core | 8218
Dívejte se na to tak, že move() práva normalizuje, tj. zajistí, aby byly nastaveny vždy stejně. V případě potřeby si je poté můžete nastavit jinak.
- westrem
- Člen | 398
David Grudl napsal(a):
A není jednodušší prostě po volání
$file->move(...)
zavolatchmod($file, 0644)
?
A neni lepsie robit danu vec len 1× ? Ako pise mkoubik,
takto sa ten chmod
vola dvakrat, pricom aspon mne pride
logickejsie, ze by sa tie prava mali nastavit uz pri presune, tzn tak ako to ma
mkoubik spravene na git-e.
Ide v podstate len o priadnie nepovinneho parametru, tudiz o ziadny velky zasah do API. Zaciatocnik to asi nebude prilis vyuzivat a pokrocily to pouzije presne vtedy ked bude chciet.