[ E-one @ 02.02.2007. 12:54 ] @
U formi za unos postoji polje za unos naslova i fajla. Prilikom uploada ime fajla promenim u naslov. I to radi lepo kada u naslovu nema nasih slova. Ali ako je naslov žžž ime fajla bude žžž.jpg
Ima li neko ideju kako da resim ova problem?
[ dootzky @ 02.02.2007. 13:17 ] @
imam dosta ideja, ali je verovatno najbolje resenje da iskoristis "regular expression" iliti REGEX, i cuvam samo osnovna slova alfabeta i brojeve (a-z, A-Z, 0-9), i trebalo bi to da ti pije vodu.

evo ti link, da bi lakse napisao regex: http://www.webpronews.com/expe...ToRegularExpressionsInPHP.html

doduse ovo je mozda malo onako resenje, jer, sta se desava ako imas ime fajla koje je npr:
"susti_voda.txt" (shushti voda, dakle dva slova SH), ti ces onda izbacivanjem tih gluposti ostati samo na
"uti_voda.txt",

pa to i nije mozda najsvetlije resenje..... hm hm....

a mozda da ti uradis ovaj trip:

1) das im unos
2) onSubmit -> verifikuj da li postoji makar JEDAN karakter koji nije standardan, tj. koji ti ne dozvoljavas, i ako ga nadjes -> vrati ih na korak 1). loop. dok ne urade kako treba.
3) snimi ime fajla itd.

i naravno vidi da to podelis nekako, da ne bi morao stalno fajl da se upload-uje dok oni ne ubodu pravi naslov.


---------------

ILI! ili mozda ovako:

- napravis JS koji ce ti to raditi, pre submitovanja.
slicna je logika kao kada ti neko unosi username/password na sajtu za registraciju (dakle prvi put), ne smes da pustis svsta. baci pogled:
http://www.oreillynet.com/pub/...ipt/2001/08/10/form_valid.html
http://developer.apple.com/internet/webcontent/validation.html

to je taj trip, cenim da je clanak isti

hope it helps,
poz,
dootzky
[ Nemanja Avramović @ 02.02.2007. 16:24 ] @
Ja bih to radio kao i ES, dakle transliteracija slova u ASCII latinicu tako da šušti_voda postaje susti-voda.txt

edit: typo

[Ovu poruku je menjao Nemanja Avramović dana 03.02.2007. u 01:15 GMT+1]
[ E-one @ 02.02.2007. 22:21 ] @
Hvala na pomoci, evo funkcije koja mi je resila problem.

Code:


function Transliteracija($st){

 $st=str_replace("ž","z",$st);
 $st=str_replace("ć","c",$st);
 $st=str_replace("č","c",$st);
 $st=str_replace("š","s",$st);
 $st=str_replace("đ","dj",$st);
 $st=str_replace("Ž","Z",$st);
 $st=str_replace("D","C",$st);
 $st=str_replace("C","C",$st);
 $st=str_replace("Š","S",$st);
 $st=str_replace("Đ","DJ",$st); 
 return $st;

}



[ Nemanja Avramović @ 03.02.2007. 00:16 ] @
To će ti vršiti posao, ali ja bih i znake interpunkcije, kao i ćirilična slova transliterovao :)
[ dimke7even @ 10.07.2007. 21:30 ] @
Sad sam tek nasao ove postove i ne mogu da verujem da je nemoguce uploadovati fajl u cijem imenu su nasa slova a da se on sa istim imenom sacuva.
za sada i ja se cupam sa tim regularnim izrazima ali zar ne bi trebalo da postoji neki nacin da se to obavi normalno i sa nasim slovima?!

ja sam pokusavao nesto u lokalu... kombinovao sam move_upload_file() pa sam odmah posle pozivao rename() za isti fajl koji ima nasa slova. Novo ime je imalo takodje nasa slova. Najvise zeza $_FILES[]['name']!!!

Ishod zavisi prvo od toga kako je skripta kodovana u editoru, ja licno koristim PSPad editor, i zavisi od toga koji je charset u head-u stranice na kojoj je forma za upload.

Stvar je veoma zeznuta i stvarno nisam uspeo ad skuzim kako da se $_FILES["new_file"]["name"] odrzi u nasim slovima kada se prosledi u drugu skriptu,
uglavnom uspevalo mi je samo kad sam kodovanje u PSPadu prebacio na ANSI umesto na UTF-8.

Sada kad sam video ove postove ne razumem jel se ove f-je za transliteraciju pisu zato sto nema drugog nacina ili je tako sigurnije?

Mislim da ovoj temi treba posvetiti vise paznje verujem da je ovaj problem svakog mucio...