WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   nedladdnign av filer utanför root (https://www.wn.se/forum/showthread.php?t=1055455)

frecka 2012-10-23 00:32

nedladdnign av filer utanför root
 
mappen heter files som ligger utanför webroot.
alltså:

site/
index.php
contact.php
downloads.php
files/
643456456.rar
5465465476.zip

Jag vill kunna ladda ner en fil på download.php?id=4

Och från det ID så hämtar jag filens namn och den filen ligger i files/

Hur gör jag nu detta 100% korrekt med headers?
Ska jag använda readfile() också?

Jonas 2012-10-23 01:12

Sök på header() på php.net så får du rätt info

hnn 2012-10-23 10:53

file_get_contents gör lite vad du vill göra.

file_get_contents & file_put_contents är lite enklare än att öppna och stänga filer om man bara ska göra enklare filoperationer.

lunarmys 2012-10-23 11:10

Citat:

Ursprungligen postat av hnn (Inlägg 20453614)
file_get_contents gör lite vad du vill göra.

file_get_contents & file_put_contents är lite enklare än att öppna och stänga filer om man bara ska göra enklare filoperationer.

Lite meningslöst att läsa in filen i minnet, bättre att köra readfile() istället.

hnn 2012-10-23 11:11

True, fel av mig :)

frecka 2012-10-23 11:36

går det att undvika att webbläsaren ska öppna .txt filer utan att bara ladda ner dem?

hnn 2012-10-23 11:37

http://se.php.net/readfile



Finns ett utmärkt exempel där...

patrikweb 2012-10-23 16:26

Citat:

Ursprungligen postat av frecka (Inlägg 20453622)
går det att undvika att webbläsaren ska öppna .txt filer utan att bara ladda ner dem?

Nu tror jag webbläsaren använder MIME som servern sänder för hur den ska hantera filen, så du kanske kan fulhaxxa genom sätta annan MIME type för webbläsaren välja ladda ner den istället för den inte vet hur den ska hantera den.

Osäker på om webbläsare även använder filändelse för avgöra eller inte.


Alla tider är GMT +2. Klockan är nu 12:04.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson