Text v promměné. Stáhnout obsah této proměnné jako txt soubor

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

Zdravím,
mám
$text = „Text moji promenne“;

Chtěl bych stáhnout soubor vystup.txt ve kterém bude obsah proměnné $text.

Zkoušel jsem: https://api.nette.org/…esponse.html

$response = new Nette\Application\Responses\FileResponse( $text, "vystup.txt" );
$this->sendResponse( $response );

ale to padá na hlášce:
Warning
is_file(): File name is longer than the maximum allowed path length on this platform (4096):

Jak na to prosím? Díky

chikeet
Člen | 160
+
+3
-

Při bližším prozkoumání konstruktoru FileResponse zjistíš, že první parametr není obsah souboru, ale jeho název. Takže FileResponse při svém vytvoření hledá soubor, který se jmenuje jako obsah tvé proměnné $text, který je pravděpodobně delší než oněch 4096 znaků, což vyvolá zmíněnou chybu.

Osobně soubory ke stažení obvykle nejdřív uložím, pak nabídnu ke stažení a následně smažu nějakým úklidovým cronem. Ale věřím, že jsou i lepší řešení, jen trochu pohledat.

Editoval chikeet (25. 3. 2015 14:03)