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


how to download php string when button is clicked

我已经阅读了与此相关的大多数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。