我已经阅读了与此相关的大多数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。关于我如何完成这项工作的任何指示。
假设你有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。