php - 如何直接通过 PHP 将 Base64 字符串导出到服务器端的文件,而不将其保存在 Web 服务器中?

标签 php mysql base64

我使用 PHPMySQL 进行编程。


我存储了一些 Base64 字符串(从文件编码)。我知道 base64_decode(); 可以将 Base64 字符串解码为文件。

现在,我想通过 PHP 将这些 Base64 字符串解码为文件,而不将其保存在我的网络服务器中;但是,网络浏览器可以从网络链接(http://example.com/save.php?fileid=23413)下载它。

在我的 PHP 页面中,http://example.com/save.php?fileid=23413 ,我做了:

  1. 我可以使用 echo(); 打印 Base64 字符串。所以,我的 MySQL 查询没有问题。
  2. 我已从我的 PHP 页面删除 echo();
  3. 我尝试使用 base64_decode();Base64 字符串解码为文件。我希望当我导航到此页面时,它将导出一个文件。但是,它返回一个页面。

你能帮我通过PHPBase64字符串解码为文件,而不将其保存在我的网络服务器中,并且网络浏览器可以从网络链接(http://example.com/save.php?fileid=23413)下载它吗?

最佳答案

在回显输出之前尝试向脚本添加 header

header('Content-Description: File Transfer');
header("Content-type: application/octet-stream");
header("Content-disposition: attachment; filename= ".$file."");
echo base64_decode($file);

关于php - 如何直接通过 PHP 将 Base64 字符串导出到服务器端的文件,而不将其保存在 Web 服务器中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30585708/

相关文章:

php - 如何在 PHP/MYSQL 中将两个 mysql 查询作为一个执行?

php - $_POST 使用 AJAX 调用的持久性

javascript - 单击时无法调用函数

mysql - 有没有办法在表中没有主键的情况下创建外键关系

javascript - 使用 Ajax 提交表单并将数据插入 MySQL 不起作用

C# Base64 字符串可以转换为图像,但不显示在 .rdlc 图像控件中

javascript - 我如何在 JavaScript 和 Python 中对 unicode 字符串进行 base64 编码?

php - 使用复选框 php pdo 删除数据库中的多个条目

php - fatal error : Uncaught Error: Call to undefined function mb_detect_encoding()

javascript - Base64 Nodejs 中的读取文件