|
| Upload æøå Fra : koko3 | Vist : 883 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
æ (det er æ)
ø (det er ø)
å: (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øelse
desvaerre blir til desvæ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 |
| | |
| 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 : 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 : 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 : 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
| |
| 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.
| |
|
|