Autor Zpráva
Ge0rge
Profil
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
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
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
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
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
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 :-)
Ge0rge
Profil
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
Ge0rge
řešení je nepoužívat u souborů diakritiku
Ge0rge
Profil
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
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
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 :-)

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: