Autor Zpráva
drak654
Profil
pokúšam sa stiahnuť jeden súbor .php s premennými do jedného súboru .htm.. idem podľa tohto

$subor = "priloha.php?premenna1=" . $premenna1 . "&premenna2=" . $premenna2 . "&premenna3=" + $premenna3;

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

readfile ($subor);


Súbor sa stiahne v poriadku, ale keď chcem otvoriť .htm, tak vypíše, že robím chybu v riadku 7. Čo robím zle?
Muuf
Profil *
\".$subor.\""
__construct
Profil
skús toto :
header("Content-type: $type");
header("Content-Disposition: attachment;filename=$file");
header("Content-Transfer-Encoding: binary");
header('Pragma: no-cache');
header('Expires: 0');
set_time_limit(0);
readfile($file);
imploder
Profil
drak654:
Tohle bude fungovat, jenom pokud bude na serveru přímo uložený soubor s názvem
priloha.php?premenna1=...&premenna2=...&premenna3=...
(za ... si dosaď hodnoty proměnných)
Opravdu tam takový soubor máš? Asi ne, nezní to moc jako název souboru.

Aby bylo jasno, readfile() nezavolá žádný PHP skript, takže žádné parametry se nezpracují. readfile() jen vypíše na výstup soubor se zadaným názvem. Na Linuxsoftu je to dobře, tam se čte soubor "31_test.html". Tak to udělej taky tak, předej rovnou název souboru, ne odkaz na další PHP skript.

Pokud potřebuješ stáhnout výstup PHP skriptu priloha.php?promenna1=...&...atd. (ne už hotový soubor), tak na to stačí v souboru priloha.php na začátku nastavit hlavičky jako jsi to udělal tady. Pak se priloha.php bude stahovat, není na to potřeba další skript.
Joker
Profil
ad imploder: On by výsledkem byl HTML výstup toho skriptu, ale to by se to muselo volat přes HTTP (tj. ne priloha.php?..., ale http://adresawebu/cesta/priloha.php?...).
drak654
Profil
imploder:
V download.php mám uložené tie premenné a podľa toho sa zistí, čo sa má z priloha.php stiahnuť.
AM_
Profil
Muuf
to fungovat nebude.

drak654:
V download.php mám uložené tie premenné a podľa toho sa zistí, čo sa má z priloha.php stiahnuť.
takhle to nefunguje, když přečteš PHP soubor, tak se nespustí, ale přečteš ho tak jak je i s kódem. Ono by to šlo obejít, ale nějak nevidím důvod, proč uživatele rovnou neodkázat na priloha.php a nutit ho stahovat soubor přes download.php.
drak654
Profil
AM:
Alebo nie je nejaká funkcia JavaScriptu, ktorá by uložila stránku? Mám na mysli CTRL + S
AM_
Profil
drak654:
a proč to dělat javascriptem? Proč nedáš ty stahovací hlavičky (content-type, content-disposition) přímo do toho souboru, který chceš, aby si uživatel stáhl? případně je tam můžeš dát do podmínky, že když se daná stránka zavolá s ?download=1, tak se HTML nabídne ke stažení.
fuckin
Profil
a co takhle vystup cachovat a pak ten vysledek jen poskytnout ke stazeni?
drak654
Profil
AM:
Vďaka. Už to ide.

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:

0