0

在我的 php 代码中,我从 mySQL 数据库中检索行并将它们保存到 CSV 文件中。我在代码中硬编码文件名。算法简单如下:

1. Allow user select excel file.
2. Retrieve rows from table, separate column data with commas and build up strings through concatenation.
3. put the build up into the selected file.
4. Close the file.

但是,我希望在将构建的 CSV 字符串保存到文件之前显示一个“另存为”对话框供用户选择文件。我看到的所有建议都在谈论使它看起来像下载,但是在下载中,文件已经在用户保存到本地计算机之前建立起来。就我而言,必须首先选择文件。

如果将应用程序从主分区标记为 C: 的机器移动到标记为 D: 的机器,我还希望应用程序是可移植的,因此我不需要硬编码。谢谢。

4

1 回答 1

0

要使浏览器下载文件(而不是在已知 MIME 类型时打开它),您可以设置以下标头:

  • Content-disposition: attachment; filename=fname.ext

我不相信有任何方法可以强制浏览器使用另存为对话框进行提示。每个浏览器都有不同的处理方式,通常是本地用户设置。(即自动下载到默认文件夹,每次提示等)

作为替代方案,也许建议您的用户在需要明确指定下载文件位置和名称时使用“右键单击 -> 另存为...”。

于 2012-08-01T14:02:09.247 回答