我已经阅读了大部分与此相关的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。关于我如何完成任务的任何指示。
答案 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。