Avatar billede hansjacob Nybegynder
23. januar 2003 - 16:43 Der er 7 kommentarer og
1 løsning

default filnavnet til upload

Hej

Hvordan vidergiver man filnavnet på en tidligere uploadet fil?

I en database har jeg et filnavn i en bestemt variabel, $mitNavn:
<input type="file" name="mitNavn" value="<?=$mitNavn?>">
Men hvis jeg så ikke indtaster noget i feltet eller browser til en eller anden fil kommer variablen $mitNavn til at være tom.... Er der en måde, hvorpå man kan give feltet en default værdi, som den vidergiver, hvis ikke andet er oplyst.
Avatar billede tipsen Nybegynder
23. januar 2003 - 17:02 #1
if (isset($_FILES['mitNavn']['name']) && !empty($_FILES['mitNavn']['name'])) {
    $filnavn = $_FILES['mitNavn']['name'];
} else {
    $filnavn = 'defaultvaerdi';
}
Avatar billede hansjacob Nybegynder
23. januar 2003 - 17:23 #2
jo, den kan jeg godt bruge, men problemet er, at jeg gennemløber felterne fra en MySQL tabel, der indeholder de samme navne som de forskellige form-objekter. Derfor ville det være lidt klodset at løse det på den måde. Men tak alligevel.
Avatar billede tipsen Nybegynder
23. januar 2003 - 17:44 #3
Så tror jeg ikke jeg forstår spørgsmålet...
Avatar billede hansjacob Nybegynder
23. januar 2003 - 18:03 #4
Jeg ville gerne have det sådan, at det kunne virke som eks text felter, hvor der kommer en værdi i den medmindre man skriver noget andet. Altså
<? $minVar ="hej du" ?>
<input type="text" name="minVar" value="<?=$minVar ?>">

Så indeholder form-objektet minVar også noget efter man har klikket på send, uden at brugere aktiv har gjort noget.

Hivs man gør det samme ved "file"-objekt indeholder $minVar ikke navnet (kun som en del af arrayet, altså $minVar['name'] og det er ikke det jeg ønsker).
Avatar billede tipsen Nybegynder
23. januar 2003 - 20:04 #5
Du kan ikke smide en default-værdi i din file-select - og hvis brugeren ikke angiver nogen fil, vil du få et $_FILES-array med følgende udseende:

Array ( [mitNavn] => Array ( [name] => [type] => [tmp_name] => [error] => 4 [size] => 0 ) )

-dvs. den test jeg angiver øverst kan forkortes til:

if (!empty($_FILES['mitNavn']['name'])) {
    $filnavn = $_FILES['mitNavn']['name'];
} else {
    $filnavn = 'defaultvaerdi';
}

hvorefter $filnavn enten indeholder navnet på filen eller en defaultværdi!

Hvis det ikke er svaret på dit spørgsmål, så prøv i stedet at forklar, hvad det er du ønsker at opnå - fordi du kan ikke fifle din file-select!
Avatar billede tipsen Nybegynder
23. januar 2003 - 20:05 #6
ups - den forkortelse jeg lavede er ikke i orden - den oprindelige skal stadig bruges - sorry!
Avatar billede hansjacob Nybegynder
04. februar 2003 - 10:06 #7
Undskyld den lange svartid.

Tak for hjælpen. Når jeg nu lige har eksperten her, er der så en hurtig måde, hvorpå man kan vise indholdet af et array? Den visning du lavede:
Array ( [mitNavn] => Array ( [name] => [type] => [tmp_name] => [error] => 4 [size] => 0 ) )

Er jo meget smart, men det tager jo et par while-løkker at lave.
Avatar billede tipsen Nybegynder
04. februar 2003 - 23:17 #8
print_r($varnavn) er den "magiske" funktion:

http://dk.php.net/manual/en/function.print-r.php
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