Autor | Zpráva | ||
---|---|---|---|
Senky Profil |
#1 · Zasláno: 25. 11. 2009, 19:29:45
Zdravím. Vytvoril som si aplikáciu na nahrávanie spravovanie a sťahovanie súborov na webe. Problém je však v tom, že ak kliknem na obrázok, tak sa mi zobrazí a nie stiahne (samozrejme). Tak som musel vytvoriť trocha komplikovanejší spôsob sťahovania. Funguje cez tento skript:
$file_result = mysql_query('SELECT * FROM worksheets WHERE id = ' . $_GET['id']); $file_row = mysql_fetch_array($file_result); $soubor = $file_row['hash']; header("Content-Description: File Transfer"); header("Content-Type: application/force-download"); header("Content-Disposition: attachment; filename=\"$soubor\""); readfile ($soubor); avšak problém je v tom, že to stiahne všetko (aj obrázky aj neviem čo), avšak ak si obrázok potom chcem otvoriť, vypíše mi "Žiadna ukážka nie je k dispozíci". Mám to na locahoste a ukladám súbory tak, že názov majú vygenerovaný hash a koncovka im ostáva. Skúsil som ho teda otvoriť ešte kým je na serveri a nebol problém. Ak ho otvorím v prehliadači priamou cestou a dám "Uložiť obrázok ako..." tak nie je problém a aj po stiahnutí mi to zobrazuje. Používam FF. Mám pocit, že to bude nejako zle zapísané v tých headeroch, avšak v nich sa nevyznám, a tak neviem, či tam je niečo zlé... Ak niekto vie, ako ináč natvrdo stiahnuť súbor tak, aby sa tiahol v poriadku, mohol by mi pomôcť? Ďakujem... |
||
Senky Profil |
#2 · Zasláno: 25. 11. 2009, 19:34:53
Skúsil som nahrať doc súbor a potom ho stiahnuť klasicky (odkazom) a cez skript. Prišiel som na to, že tie obrázky sa nezobrazia, pretože sa do nich uloží obsah skriptu, ktorý vytvára násilné sťahovanie a nie obsah obrázka. Avšak, ako vravím, neviem, čo je v tých headeroch, tak neviem čo by som mal zmeiť aby sa do jeho obsahu uložil obrázok a nie skript...
|
||
Senky Profil |
#3 · Zasláno: 26. 11. 2009, 15:14:04
Tak už som to vyriešil. Zistil som, že ten súbor, ktorý prikazuje sťahovanie musí byť v rovnakej zložke ako sťahované súbory...
|
||
Časová prodleva: 14 let
|
0