目的是在运行sql dumping脚本(从PHP)之后下载转储的backup.sql
文件。通常,转储的.sql
文件在服务器上输出(写入)。然后,当我像<a href="backup.sql">Download File</a>
那样创建一个指向该文件的href链接时,文件在点击时在浏览器内打开,而不是下载。
怎么做?
答案 0 :(得分:18)
或者您可以在HTML的锚标记中使用新的HTML5属性download
。
代码看起来像
<a download href="path/to/the/download/file"> Clicking on this link will force download the file</a>
适用于firefox和chrome最新版本。我应该提一下我没有在IE中查看它吗? :P
答案 1 :(得分:3)
将以下行添加到.htaccess
文件中。
<Files "backup.sql">
ForceType applicaton/octet-stream
Header set Content-Disposition attachment
</Files>
答案 2 :(得分:3)
另一种选择是在.php文件中提供它,例如download.php
在download.php中有这个
$path = "backup.sql"
header("Content-Type: application/octet-stream"); //
header("Content-Length: " . filesize($path));
header('Content-Disposition: attachment; filename='.$path);
readfile($path);
然后
<a href="download.php">Download File</a>
答案 3 :(得分:0)
仅供参考 https://stackoverflow.com/a/56664507/766644
如果客户端上有所有可用的导出数据(例如您的.sql文本),您可以
const blob = new Blob([fileContent], { type: 'text/plain' });
const a = document.createElement('a');
a.setAttribute('download', fileName);
a.setAttribute('href', window.URL.createObjectURL(blob));
a.click();