Vynucení stažení souboru, který fyzicky neexistuje

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
MartinitCZ
Člen | 580
+
0
-

Ahoj,
snažim se v nette vytvořit něco velmi podobného tomuto:

header("Content-Description: File Transfer");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=\"datum.txt\"");
echo date("r");

ale vždy se mi do toho souboru nacpe ještě zdrojový kod nette debugbaru.
Co dělám špatně?

Resp. nemáte někdo již hotové řešení?

vvoody
Člen | 910
+
0
-

Jednoducho:
Ukončiť beh programu pomocou exit() / die() / $presenter->terminate()

Správne:
Napísať si vlastný TextDownloadResponse, inšpirovať sa môžeš od FileResponse a od TextResponse. Response odošleš pomocou metódy sendResponse($myResponse) nad presenterom.

MartinitCZ
Člen | 580
+
0
-

Díky za rady, pomocí api jsem to dal dohromady

Editoval martinit (11. 2. 2013 9:49)

blacksun
Člen | 177
+
0
-

Tak ono pokud bude debugbar, respektive laděnka, vypnuté, tak se tam cpát nebude. Takže zkusit režim produkce a uvidíš, debugbar bude pryč.

enumag
Člen | 2118
+
0
-

DebugBar se nevypíše pokud metoda Debugger::isHtmlMode vrátí FALSE. Doporučuji podívat se na kód té metody a odeslané hlavičky abys zjistil proč vrací TRUE.

Jan Tvrdík
Nette guru | 2595
+
0
-

@blacksun: To je sice pravda, nicméně postup, který popisuje @vvoody je výrazně lepší.