/ Forside/ Teknologi / Udvikling / PHP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Upload æøå
Fra : koko3
Vist : 792 gange
101 point
Dato : 02-06-06 17:41

Hej :D

Kan man ikke få dette script til at kunne uploade filnavne med æ,ø,å

<?PHP

// her gemmes filerne
$konfiguration["upload_bibliotek"] = "./upload";

// Dette må filerne max fylde. (i MB).
$konfiguration["max_stoerrelse"] = "1000";

/* Check PHP-version */
list($major, $minor, $rev) = explode(".", phpversion());
if($major < 4) {
// Hvis PHP versionen er for gammel, lukker vi scriptet.
die("Jeg kan kun arbejde med PHP 4.0.0 eller derover");
}

/* Skab de "moderne" arrays hvis vi arbejder med en aeldre PHP */
if($minor < 1) {
$_FILES = $HTTP_POST_FILES;
$_POST = $HTTP_POST_VARS;
$_SERVER = $HTTP_SERVER_VARS;
}

/* Hvor flytter vi fra og til */
$fra = $_FILES["upfil"]["tmp_name"];
$til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];

/* Accepterer vi filens stoerrelse? */
$fil_stoerrelse = filesize($fra)/1024;
if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) {
die("Desværre - filen er for stor. Jeg accepterer kun " .
$konfiguration["max_stoerrelse"] . "kb, og din fil fylder " .
ceil($fil_stoerrelse, 1) . " kb");
}

// For at gøre det mere sikkert, kan du selv bestemme hvilket type filer brugerne må uploade
// Dette er smart, da de ellers ville kunne uploade perl script, php script, eller andet der kan skade dig.

$ext = strtolower(end(explode(".", $_FILES['upfil']['name'])));



if($ext == "txt" || $ext == "doc" || $ext == "jpg" || $ext == "bmp") {
/* Saa koerer vi */
if(function_exists("move_uploaded_file")) {
move_uploaded_file($fra, $til);
} else {
copy($fra, $til);
}

// Filen er nu uploaded, og vi sender dig tilbage til upload siden.
header("Location: upload.php");
exit;
} else {
die("Jeg vil kun have jpg, mpg eller swf filer uploaded!");
}
?>

 
 
Kommentar
Fra : annvibeke


Dato : 02-06-06 17:59

Prøv at skrive
&#230; (det er æ)
&#248; (det er ø)
&#229: (det er å)

...hvis det altså er det du mener

mvh/ann-vibeke

Kommentar
Fra : koko3


Dato : 02-06-06 18:56

oki..


men hvor skal jeg skrive det i scriptet??


:D

På forhånd tak for hjælpen


Kommentar
Fra : annvibeke


Dato : 02-06-06 19:25

Der hvor du ellers ville ha' skrevet det givne bogstav f eks:

stoerelse blir til st&#248;else
desvaerre blir til desv&#230;rre

mvh/ann-vibeke

Kommentar
Fra : koko3


Dato : 02-06-06 20:48

Hmmm.
Det var nu ikke lige det jeg mente.

Hvis man nu vil uploade en fil ved navn "æble.jpg",
så skal man kunne gøre det uden at ændre noget i filnavnet ;)

Nogen der ved om det kan lade sig gøre??

Kommentar
Fra : annvibeke


Dato : 03-06-06 07:40

Måske kan du bruge dette, som jeg fandt på kandu:

http://www.cando.dk/questionhist.aspx?qid=77424

Kommentar
Fra : koko3


Dato : 03-06-06 17:19

Før filen bliver sendt til scriptet jeg skrev før, skal filen sendes fra dette script:

<?PHP
echo '
<form action="do-upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="upfil" />
<CENTER><input type="submit" value="upload" /></CENTER>
</form>
';
?>

Kommentar
Fra : koko3


Dato : 03-06-06 17:20

Kan dette være en hjælp??



Kommentar
Fra : natmaden


Dato : 04-06-06 13:43

kender dit problem

jeg kan nu godt uploade, men den gemte fil har så fået erstattet æøå med andre mystiske tegn.

tror at det handler om tegntypevalg , men der er jo så til gengæld heller ikke mange der kan se filen
hvis den indeholder specieltegen som æøå.
tænker at det må være bedre at omdøbe filen, ja og selfølgelig helst efter at folk uploader,øog inden at den bliver gemt på serveren.

jeg har ikke tid lige nu , men vil prøve at finde en løsning,,, efter mandag.

Mvh. Jørgen

Kommentar
Fra : koko3


Dato : 04-06-06 13:47

ok..

Tak for hjælpen.

Kommentar
Fra : natmaden


Dato : 04-06-06 13:53

hvor ligger det ?
er det på webhotel eller hjemme eller ?

Kommentar
Fra : koko3


Dato : 04-06-06 17:44

Webhotel (frac).




Kommentar
Fra : koko3


Dato : 12-06-06 18:52

Er der ikke nogen der kan hjælpe...

Eftersom jeg har rundet nul point en gang, kan jeg ikke forhøje mere.

Hmm mærkeligt pointsystem.

Kommentar
Fra : natmaden


Dato : 12-06-06 22:08



Nej jeg har ikke fundet løsningen

hverken med mellemrum eller æøå

Havde nu også helt glemt denne tråd

din kode i starten, er den komplet ?

en ting er jeg rimelig sikker på,
der skal være en html-metalinie for at definere at det er dansk karaktersæt der skal bruges,
jeg jeg desværre også rimelig sikker på at der er ligemeget
men den ville se sådan ud.

Kode
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">


tingene hænger også sammen med at du ikke kan bruge æøå i filnavne på en webside.

jeg har lige lavet denne http://natmaden.dk/hjælp.html
Det du ser er denne http://natmaden.dk/nohelp.jpg
som også findes som denne http://natmaden.dk/nohjælp.jpg

og jo alle 3 filer er der, de kan bare ikke ses, pga. æøå

problemet kan måske løses med en sprogpakkeopdatering, og det findes, men så skal alle der bruger din side have den..

mellemrum kan nok løses med fil/adresse i anførselstegn, og nej jeg tror det ikke.

løsningen er nok at :
filen uploades, (for det kan man godt)
nu skal filnavnet så undersøges og filtres
Eks.
å bliver til aa
æ bliver til ae
ø til oe
mellemrum måske til _ .

så vil "samsø å.jpg" blive gemt som "samsoe_aa.jpg"
Ja hvad med "malmö.jpg"
eller "rør sælges" = "roer_saelges", av min tand

Nå men, nu kan det gemmes med de nye navne.
Men så ser de jo også sådanne ud når man se/henter dem.

hvis at flere uploader og kalder en fil det samme,
vil den overskrive den første.

Man kan jo skrive æøå i en fil,
så derfor er det måske en ide at lave en tekstfil (som du og php laver sammen)

filen uploades, (for det kan man godt)
nu skal filnavnet huskes og filen have et nyt navn,
et tidstempel taget fra serveren, (unixtime = tæller i millisek)
filen gemmes som (tidsstempel).jpg

Der skal så oprettes en datafil, den kunne praktisk hedde de samme som (tidsstempel).jpg
bare med .txt i stedet for .jpg
(tidsstempel).txt kunne indeholde eks. originaltnavn

Eks.
1. upload "samsø å.jpg"
2. husk filnavnet "samsø å" og endelse ".jpg"
3. hent og husk et tidsstempel 032209484
4. gem fil som nu hedder 032209484 + endelse = 032209484.jpg

5. gem originalnavnet i en fil der så hedder 032209484.txt

pauser lige her

Kommentar
Fra : natmaden


Dato : 13-06-06 09:00
Kommentar
Fra : koko3


Dato : 13-06-06 20:51

Hej.

Mange tak for det værdifulde indlæg.

Hmm jeg er nok mest til løsningen hvor
å bliver til aa
æ bliver til ae
ø til oe
mellemrum til _ .


Hvis du kunne smide det i mit script vil jeg være meget taknemlig.

Kommentar
Fra : natmaden


Dato : 14-06-06 00:12

hmm!
Det kostede en nat at lave det andet !!!Men så pyt,
for 500påænger, gør jeg mig også i sort magi

ja men koden kan da nemt ædres til dit foremål , men intet er sikkert før at man har testet og testet,
feks kan jeg se at der er kommet dobelt op af billeder på mit eksembel

Kommentar
Fra : natmaden


Dato : 14-06-06 00:30

jeg tænker
nej er det ikke en nedgardering...
men ok, jeg tænker bare at det ikke virker på filer med underlige tegn.

den jeg gav gør da,(tager alle tegn)

Tanken var at når at folk ville downloade,
så fik de det rigtige filnavn, altså det filen startede med at hedde.

hvis æøå skal blive til aeoeaa, hvad skal " "mellemrum så være for et tegn.?


Kommentar
Fra : koko3


Dato : 14-06-06 12:56

Mit tager stort set alle tegn. Jeg har testet med /*-()


Så hvis du kunne så vil det være fedt.

Kommentar
Fra : koko3


Dato : 14-06-06 12:58

Jeg kan ikk forhøje mer' fordi jeg har rundet 0 point, og så kan jeg ikke forhøje mere i dette indlæg.



Kommentar
Fra : natmaden


Dato : 15-06-06 09:49
Kommentar
Fra : koko3


Dato : 15-06-06 21:27

Mellemrum kunne bare blive til _


Hvis du kunne få funktionen i mit scipt kunne det være fedt.
Jeg kan jo bare lave et andet indlæg ved siden af, hvis det er point det handler om

Accepteret svar
Fra : natmaden

Modtaget 101 point
Dato : 16-06-06 06:58

poænger er ikke altid vigtige

Kode
$ny = array("ae" , "AE" , "oe" , "OE" , "aa" , "AA" , "_");
$gammel = array("æ" , "Æ" , "ø", "Ø" , "å", "Å" , " ");
$_FILES["upfil"]["name"] = str_replace($gammel , $ny , $_FILES["upfil"]["name"]);


sæt ovenstående kode ind mellem

/* Skab de "moderne" arrays hvis vi arbejder med en aeldre PHP */
if($minor < 1) {
$_FILES = $HTTP_POST_FILES;
$_POST = $HTTP_POST_VARS;
$_SERVER = $HTTP_SERVER_VARS;
}

og

/* Hvor flytter vi fra og til */
$fra = $_FILES["upfil"]["tmp_name"];
$til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];


så det ser sådan ud.


Kode
/* Skab de "moderne" arrays hvis vi arbejder med en aeldre PHP */
if($minor < 1) {
$_FILES = $HTTP_POST_FILES;
$_POST = $HTTP_POST_VARS;
$_SERVER = $HTTP_SERVER_VARS;
}
//
$ny = array("ae" , "AE" , "oe" , "OE" , "aa" , "AA" , "_");
$gammel = array("æ" , "Æ" , "ø", "Ø" , "å", "Å" , " ");
$_FILES["upfil"]["name"] = str_replace($gammel , $ny , $_FILES["upfil"]["name"]);

//
/* Hvor flytter vi fra og til */
$fra = $_FILES["upfil"]["tmp_name"];
$til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];


Håber at det virker

Godkendelse af svar
Fra : koko3


Dato : 16-06-06 13:36

Mange mange gange tak for hjælpen

Kommentar
Fra : natmaden


Dato : 16-06-06 19:59

Selv tak , for man lærere jo også af at hjælpe

Prøv at kikke på denne her, den kunne måske være noget for dig,
og den er for free..
http://autoindex.sourceforge.net

Mvh. Jørgen

Kommentar
Fra : natmaden


Dato : 24-07-06 11:20

Domænenavne med æ,ø,å samt ä ö ü é
Der er nu åbnet mulighed for at registrere .dk domænenavne med æ,ø og å.

Man skal dog være opmærksom på disse tegn kun kan benyttes i browseren Internet Explorer og kun såfremt man har et plugin installeret.
Et plugin kan hentes hos VeriSign http://idn.verisign-grs.com/index.jsp .

Domænenavne med æ,ø,å kan ikke benyttes til email endnu.
Ligeledes kan man kun benytte disse tegn i .dk domæner,
man kan dog vælge at have en viderestilling fra sit æøå domænenavn til .net og .com domæne.
Eks kan ære.dk viderestille til aere.com hvis man er den retmæssige ejer af begge domæner.
Vi anbefaler, såfremt man ønsker en registrering af domæner med æ,ø,å ,
ikke benytter dette som hoveddomæne før systemet er færdigudviklet
og alle har mulighed for at indtaste adressen.

Tegnsætning
Der er fastsat regler for hvilke tegn er må benyttes i .dk domænenavne.
Et domænenavn må maksimalt være på 66 tegn inklusive .dk
Et domænenavn må ikke have 2 indledende alfanumeriske tegn efterfulgt af 2 bindestreger, som f.eks. a2—x6z.dk
Bogstaver defineres som et eller flere af tegnene:
a b c d e f g h i j k l m n o p q r s t u v w x y z æ ø å ä ö ü é
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Æ Ø Å Ä Ö Ü É
Tal defineres som et eller flere af cifrene :
0 1 2 3 4 5 6 7 8 9
Bindestreg defineres som værende et minus:
”-”
(kilde: Dk Hostmaster

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177416
Tips : 31962
Nyheder : 719565
Indlæg : 6407859
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste