webForumDet fria alternativet

sökväg till fil

PHP

4 svar · 321 visningar · startad av urban_hahne

Medlem sedan maj 2003153 inlägg
Frågan#1

Hej hur får jag tag i hela filnamnet inkl path när jag går till nästa formulär för att göra upload på en bild.

<form enctype="multipart/form-data" action="upload.php" method="POST">
Please choose a file: <input name="uploaded" type="file" /><br />
<input type="submit" value="Upload" />
</form>

nedanstående ger ju bara filnamnet.

echo basename( $_FILES['uploaded']['name']) ;

jag vill länka till filen som är en bild, så jag kan förhandsgranska bilden innan jag går vidare och laddar up den.

<img src=<? echo $filnamn ?> alt="bild" />

Medlem sedan aug. 20039 340 inlägg
#2

När du först alddar upp filen så hamnar den i en temporär katalog och kan nte kommas åt utifrån. Du måste först flytta den in under din webb-root. Detta gör du med funktionen move_uploaded_file
Se: http://us.php.net/manual/en/function.move-uploaded-file.php
Här bör man också nämna att du bör kolla vilken filtyp som laddas upp, innan du flyttar filen. Annars kan någon mycket enkelt ladda upp en PHP-fil och köra den, och vips vet de ditt lösenord och har möjlighet att radera alla dina filer.
Kolla bland kommentarerna till sidan jag länkade för kodexempel, t ex: http://us.php.net/manual/en/function.move-uploaded-file.php#87787

Medlem sedan maj 2003153 inlägg
#3

ok. men jag vill ju inte ladda upp bilden innan jag godkänt den, så vad jag vill ha tag i är ju den adress och filnamn som man valt och som finns i:
<input name="uploaded" type="file" /> så att jag kan lägga upp en sida och visa bilden och eventuellt andara inmatningar som är gjorda innan man gör upload. Alternativer är ju förståss att först ladda up allt och visa hur det ser ut och sedan ta bort det om det inte är ok, men det tar ju längre tid än att konstruera en förhandsvisning med bilden liggande på sin egen dator.

Medlem sedan feb. 20034 441 inlägg
#4

Du _måste_ spara bilden via move_uploaded_file, precis som tidigare inlägg så kommer du inte åt bilden innan dess.

Spara filen i en tempmapp under din www-root, eller lägg den utanför om du inte vill att någon ska kunna se den. Efter det får du ta bort den eller flytta till dess rätta mapp.

Medlem sedan maj 2003153 inlägg
#5

Ok, självklart! Nu ramlade pengen ner. Vad fel man kan tänka ibland. Klart att filen måste till servern för att kunna visas på siten.

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)