Autor Zpráva
Senky
Profil
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
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
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...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: