php: download variable content as file

facha picture facha · Sep 13, 2010 · Viewed 18.1k times · Source

Is the subject possible? I have a script executing. At one point I have a large piece of text in a variable. Could I make it available as a downloadable file without actually writing variable content to disk?

<?php
    echo "Hello";
    //how do I make the content of this variable downloadable?
    $download_me = "download me...";
    echo "Bye";
?>

Answer

d2burke picture d2burke · Sep 13, 2010

If you mean letting the user click a link and have a dialog box pop up to save certain content as a text file:

<?php
$download_me = "download me...";
header("Content-type: text/plain");
header("Content-Disposition: attachment; filename=test.txt");
echo $download_me;
?>

Is that what you're aiming at? Also, you might want to write a few lines that only allows the headers to be sent this way if a certain $_POST or $_GET variable is set.