单击按钮时如何下载php字符串

时间:2015-06-18 14:06:43

标签: php download header export-to-csv

我已经阅读了大部分与此相关的SO问题,我理解我可以使用以下方法将字符串作为文件下载到PHP中:

header('Content-Disposition: attachment; filename="default-filename.txt"');
echo 'string to download';

然而我的问题还有一点。我有类似的事情:

$csvString = "";
foreach($array as $key => $value)
{
  echo "<div> $key has $value</div>";
  $csvString = "$key,$value\n";
}
echo "<button> Click here to download as CSV</button>";

正如您可能已经猜到的那样,我希望在单击按钮时下载$ csvString。关于我如何完成任务的任何指示。

1 个答案:

答案 0 :(得分:2)

假设您有csv.php文件,然后执行:

if (isset($_GET['download'] == 1)) {
    header('Content-Disposition: attachment; filename="default-filename.txt"');
    foreach($array as $key => $value) {
        echo "$key,$value\n";
    }
    exit;
}

foreach($array as $key => $value) {
    echo "<div> $key has $value</div>";
}

echo "<a href='csv.php?download=1'><button> Click here to download as CSV</button></a>";

基本上,如果您想要单个文件中的所有逻辑,首先检查是否请求下载,如果是,请准备好。如果没有下载请求只需编写你的HTML。