Autor | Zpráva | ||
---|---|---|---|
Ge0rge Profil |
#1 · Zasláno: 13. 9. 2007, 12:57:05
mam problem se souborovymi operacemi na woknech (ntfs), nedari se mi pomoci php otevrit soubor mimo web prostor prikazem fopen
tentokrat vsak nejsou na vine nedostatecna prava - jak to obvyke byva, ale diakritika pouzita ve jmene souboru. Stranky mam kodovane v utf-8, jmeno souboru predavam v argumentu metodou get (na strance jej korektne mohu zobrazit jako $_GET['jmenosouboru'] a nic ve jmene nechybi, diakritika je v poradku) pokud vsak zadam jmeno tohoto souboru i s absolutni cestou jako argument FOPEN , nedari se jej otevrit pokud ma diakritiku v nazvu. Naopak pokud hacky ani carky ve jmene souboru nepouzii otevreni souboru neni problem. Pokousel jsem se tedy jmeno souboru z utf-8 prevest na cp-1250 pomoci iconv (ani tak fopen soubor nenasel), cp-852 zrovna tak bez uspechu. Nevim si s tim rady. Napadlo mne jen ze prikazu fopen budu davat jmeno souboru ve tvaru znamem z DOSu (tj 8 znaku bez diakritiky vcetne nejakeho toho pocitadla za vlnovkou) bohuzel sam ted nevim jak bych toto zkrazene jmeno z plneho jmena souboru dostal, aniz bych v nejakem specifickem pripade nedospel k maleru kdy takovy prevod selze, a tak bych radeji zprovoznil tuto zalezitost z plnym jmenem souboru a diakritikou, je to nejak mozne ? Dekuji za tipy |
||
dracek Profil |
#2 · Zasláno: 13. 9. 2007, 17:54:53
A je nutné mít soubory s názvem s diakritikou?
Toto je jen "výsada" BFU aby něco takto pojmenovávali. Pak vznikají takové potíže :( |
||
Ge0rge Profil |
#3 · Zasláno: 14. 9. 2007, 13:58:46 · Upravil/a: Ge0rge
dracek
Soudim ze tady nejsou na vine BFU ale microsoft ktery zkratka v celem GUI windows pouzivani diakritiky neklade prakazky. Z toho duvodu ji take uzivatele pouzivaji a me holt nezbyva nez se s tim vyrovnat protoze to opravdu nechci byt ja kdo jim tu prekazku pod nohy vrazi a strhne na sebe pozornost jako na problemovy element :-) v celem tak bajecne fungujicim informacnim systemu :-D . ... cili opravdu bych potreboval prijit na to jak se s tim efektivne vyrovnat a donutit fopen otevrit soubor s diakritikou. Kdyz nad tim tak uvazuju, obecne vlastne proti diakritice v nazvu souboru take vubec nic nemam - nepripada mi to nesystemove - to jedine co je mi trnem v oku je me nezname kodovani cestiny ktere k tomu microsoft pouziva a/nebo samotny prikaz fopen ktery jej neumi pouzit. |
||
nightfish Profil |
#4 · Zasláno: 14. 9. 2007, 14:38:52
Ge0rge
pomocí opendir a readdir si vypiš to jméno souboru s diakritikou a porovnej si ho s tím, co dostaneš přes URL - mohlo by se ti podařit překódovávat tak dlouho, až by to bylo bez chyby... |
||
Ge0rge Profil |
#5 · Zasláno: 14. 9. 2007, 15:24:44 · Upravil/a: Ge0rge
vyborne dekuji, tim jsem se dostal o jisty kus vpred
soubor ktery se jmenuje: áčďéěíľňóřšťúůýž.odt scandir (a podobne souborove funkce PHP) vidi uz jen jako: ácdéeílnórštúuýž.odt priznam se ze v tom ale klic k reseni nevidim, nektere znaky o znamenko prijdou jine ne ... mam pocit ze tohle iconv nevyresi :-) jen napevno nejaka prevodni funkce ktera vznikne spise na bazi ... odpozorovani podivneho chovani :-) nez jeho pochopeni. takze .... mam soubor čď.odt filescan vidi jen cd.odt pokud se pokusim otevrit cd.odt, nejde to .. pokud zkusim otevrit čď.odt (utf-8 ani cp1250) nejde to ... je to v ... jsem v koncich proste ten zatracenej soubor neotevru i kdybych se zblaznil |
||
Ge0rge Profil |
#6 · Zasláno: 14. 9. 2007, 16:50:04
myslim ze jsem tomu na stope ... problem bude v operacnim systemu windows 2003 web edition (ehm, ehm :-) ) .. resp v tom ze je to anglicka verze ... na ceske stejne skripty jedou bez problemu a sobuory s diakritikou otevrou ... takze pozor na anglicka windows ... pozor na windows :-)
|
||
Časová prodleva: 13 dní
|
|||
Ge0rge Profil |
#7 · Zasláno: 27. 9. 2007, 13:33:41 · Upravil/a: Ge0rge
pomohlo proste doinstalovani podpory cestiny do prostredi zmineneho operacniho systemu, takze kdybyste to nekdy nekdo resil ... toto je ona succesfull story s jednoduchym happy endem, kterou hledate. Samozrejme reseni muze byt take dat sbohem systemu windows, zvlaste pak pokud na nem jako my provozujete Apache, MySQL a PHP :-)
|
||
souki Profil |
#8 · Zasláno: 27. 9. 2007, 13:41:30
Ge0rge
řešení je nepoužívat u souborů diakritiku |
||
Ge0rge Profil |
#9 · Zasláno: 27. 9. 2007, 15:17:55 · Upravil/a: Ge0rge
souki co rikas bohuzel neni reseni vzdy, a me by napriklad vubec nepomohlo.
Filesystemy z principu pouziti diakritiky umoznuji. V nekterych pripadech uzivatele si ani nedovedou predstavit ze by museli pri ukladani dokumentu premyslet nad tim kde odebrat nabodenicko, kdyz ho tam drive z naprostou automatikou davali a system ani zadna aplikace jim v tom nebrani ... je zkratka nutne se tomu prizpusobit. |
||
souki Profil |
#10 · Zasláno: 27. 9. 2007, 15:22:45
Ge0rge
nicméně u webových aplikací není problém ukládat si soubory třeba pod číslem a uživateli je dávat třeby s růžovými srdičky |
||
Ge0rge Profil |
#11 · Zasláno: 27. 9. 2007, 15:28:01 · Upravil/a: Ge0rge
ve spolupraci s databazi nebo dalsim metasouborem informaci .... to je pravda, stejne tak jako to ze kazdou trivialni ulohu lze resit nekonecne mnoho slozitymi zpusoby :-) ... otazkou je proc by melo byt spatne pouzit zrovna to nejjednodussi reseni ktere se nabizi :-)
|
||
Časová prodleva: 17 let
|
0