Avatar billede brevkasserne Nybegynder
19. januar 2003 - 17:41 Der er 14 kommentarer og
1 løsning

Lovlige tegn til download-script!

Jeg har lavet et upload/download script, hvor man sjovt nok kan uploade filer til en mappe.

Nu er det sådan så man desværre ikke kan benytte f.eks. æøå som filens navn, da det ikke er gyldige tegn i en HTTP request.

Hvordan laver jeg en funktion som tester om filens navn indeholder nogen ulovlige tegn?

Tænke på noget lign.:
if (!eregi('^[_a-z0-9-]{1}$',$_POST['filens_navn'])) {
Men hvordan skal den if-sætning se ud for at den tester efter alle lovlige tegn?
Avatar billede snigermunken Nybegynder
19. januar 2003 - 17:48 #1
sikker på den ikke understørrer æøå?

jeg uploader da fint filer via mit upload skript selv om der æøå i.
Avatar billede brevkasserne Nybegynder
19. januar 2003 - 17:53 #2
Jeg kan også sagtens uploade filerne, det er når jeg skal hente filerne igen.
Avatar billede speedy Nybegynder
19. januar 2003 - 18:04 #3
Hvis du angiver filnavnet i URL'en kan du med fordel benytte:
urlencode("filnavnet med æøå og mellemrum.txt");

Så kan du bruge den i HTTP-requests.

/SpEeDy
Avatar billede brevkasserne Nybegynder
19. januar 2003 - 18:46 #4
Det kan jeg nu ikke rigtig få til at virke. Jeg kan godt se den erstatter mellemrummet med et +. Men den vil stadig ikke downloade filen!
Avatar billede brevkasserne Nybegynder
19. januar 2003 - 18:53 #5
Jeg har prøvet med en fil som hedder "tæst igæn.doc"
Den vil gerne uploade filen, og den ligger også i mappen efter upload.
Jeg kan dog ikke downloade den, men uploader jeg "test igen.doc" så virker det.
Efter jeg har kørt urlencode, så hedder den "tæst+igæn.doc". Det virker dog stadig ikke.

Hvis jeg manuelt går igennem serveren og finder filen så kan jeg hente den ved at benytte adressen "upload/mappe/tst ign.doc".
Det virker altså ved at fjerne de ulovlige tegn. Men hvorfor gør urlencode ikke det automatisk?
Avatar billede brevkasserne Nybegynder
19. januar 2003 - 19:19 #6
Nogen idéer?
Avatar billede snigermunken Nybegynder
19. januar 2003 - 19:24 #7
prøv at uploade en fil med æøå og så prøve at hente den igen, men hvor du erstatter æøå i url'en men dette:

æ = % E6
ø = % F8
å = % E5

dog uden mellemrum.... det et førsøg værd, så lige at mozilla erstatte æøå med det.
Avatar billede brevkasserne Nybegynder
19. januar 2003 - 19:28 #8
Hmmm. Ska nok prøve. Men det ville nu være dejligt hvis der fandtes en funktion som f.eks. urlencode, som bare virkede!
Avatar billede Slettet bruger
19. januar 2003 - 19:32 #9
Jeg plejer at erstatte tegn der (afhængigt af server, OS mv.) kan volde problemer. Eksempel:

$filnavn = ereg_replace("[^[:alnum:]|'_'|'.']", "", $filnavn);
Avatar billede brevkasserne Nybegynder
20. januar 2003 - 17:42 #10
Hvis jeg skal have en funktion som erstatter alle mellemrum, samt danske tegn, hvorledes skal den så se ud?
Avatar billede brevkasserne Nybegynder
21. januar 2003 - 19:00 #11
Er der ingen der lige kan lave sådan en funktion?
Avatar billede brevkasserne Nybegynder
22. januar 2003 - 17:43 #12
Kom så... Der er point til vedkommende som kan lave den funktion!
Avatar billede brevkasserne Nybegynder
23. januar 2003 - 17:08 #13
Kom nu, jeg vil ikke lukke spørgsmålet og selv tage pointene når jeg er så tæt på en løsning :-)
Avatar billede brevkasserne Nybegynder
26. januar 2003 - 01:18 #14
Kom nu :-(
Avatar billede brevkasserne Nybegynder
26. januar 2003 - 12:39 #15
Nå!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester