Autor Zpráva
martinkloubek
Profil *
Ahojky, mám problém se stahováním souboru.
Uživatel provede výběr ve formuláři potvrdí a FORM ho přesměruje na další stránku, kde se zobrazí nějaký text a po cca 10 vteřinách by měl naskočit soubor ke stáhnutí. Myslím tím klasický okýnko prohlížeče např v IE: "Chcete soubor otevřít nebo uložit ....atd" a následně si ho uživatel může uložit do svého PC.

problém je že když použiji header který není vložen na počátku souboru naskočí soubor ve znakách přímo do stránky.

Soubor ke stáhnutí je jeden, pořád stejný v daném adresáři na serveru.

A já právě potřebuji aby tam byla stránka textu nemuselo se už klikat na žádný odkaz a skočil i rovnou souboru pro stáhnutí.
Nějak si s tím lámu nejsem schopen to dát dohromady, stačí mně nasměrovat...

použil jsem javascript který otevře nové okno směrované přímo na soubor ale to není zrovna to pravé....

děkuji moc.
Martin
Alphard
Profil
martinkloubek:
použil jsem javascript který otevře nové okno směrované přímo na soubor ale to není zrovna to pravé....
Bez javascriptu to nepůjde. Nešlo by třeba přesměrovat současnou stránku na stránku s downloadem? Tedy neotvírat nové okno. Nebo dynamicky vytvořit iframe a do něho načíst soubor s downloadem.
Fergi
Profil
Nejsem si zcela jisty jestli jsem to pochopil zpravne ale neslo by pouzit meta tag refresh ktery presmeruje za urcitou dobu?
<meta http-equiv="refresh" content="10;url=soubor.pripona">
Alphard
Profil
Fergi:
To je obdoba, já jsem předpokládal, že martinkloubek chce, aby mu to odpočítávalo čas, ale ano. Je to dobrá alternativka k vypnutému javascriptu.
martinkloubek
Profil *
Fergi

no nevím nepřesměruje se tím stránka na prázdnou? potřebuji aby info po načtení tam zůstalo a jen pouze se nabídl soubor ke stáhnutí.
Alphard
Profil
martinkloubek:
potřebuji aby info po načtení tam zůstalo a jen pouze se nabídl soubor ke stáhnutí.
Zkuste to, prohlížeče při odeslání správných hlaviček zobrazí dialog s nabídkou ke stažení a zachovají původní stránku.
Teď jsem to zkoušel, tady je soubor, který ovládá stažení. Já jsem použil onClick, ale časovač je úplně stejný.
<button onClick="window.location='download.php'">Stáhni</button>

A tady je soubor download.php:
<?php
$soubor = "stahni.jpg";

header("Content-Description: File Transfer");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=\"$soubor\"");

readfile ($soubor);
?>


Zkoušel jsem to v Opeře, Firefoxu i IE a každý z nich se mě zeptal, jestli chci soubor otevřít nebo uložit. Po ukončení akce zůstala otevřená původní stránka (ovladani.html).

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: