Autor | Zpráva | ||
---|---|---|---|
khubajsn Profil * |
#1 · Zasláno: 30. 7. 2009, 12:39:29
Zdravím.
Můj skript je jednoduchý - předáte mu identifikátor (číslo souboru), a pokud odsouhlasíte zobrazené podmínky a licenci (1. krok), bude prohlížeči vrácen soubor (krok 2.). Teď je ale problém, že to nemůžu udělat přes Location, protože některé soubory jsou i obrázky takže by uživatel v adrese viděl přímý odkaz na něj. Takže potřebuju vrátit hlavičku tuším nějak Content-Type: File Transfer a pak pomocí file_get_contents("../file".intval($_GET["id"])) zaslat obsah souboru. Mám to správně? |
||
Str4wberry Profil |
#2 · Zasláno: 30. 7. 2009, 13:05:14
http://php.net/manual/en/function.readfile.php#function.readfile.examples
Místo readfile můžeš použít echo file_get_contents(). |
||
Joker Profil |
#3 · Zasláno: 30. 7. 2009, 13:15:14
khubajsn:
Jestli jsem to dobře pochopil, dotaz je jakou HTTP hlavičku použít, aby se vyvolalo tažení souboru na disk? Myslím, že application/octet-stream, ale jde snad použít application/x-cokoliv-co-prohlížeč-nezná Já myslím dávám application/x-force-download Doplním, že file_get_contents má jednu nevýhodu: soubor načítá do řetězce (neboli do paměti), takže s většími soubory se může stát, že dojde paměť. Doporučoval bych raději readfile() nebo fpassthru() |
||
Časová prodleva: 15 let
|
0