我怎样才能让 PHP 解密内存中的一些文件,然后让客户端下载这些文件?
How could I get PHP to decrypt some files in memory and then make the client download those files?
我目前正在学习 PHP 和一般编程。我目前正在编写我的第一个网站,我有一个简单的登录系统,用户可以以纯文本形式输入一些数据。输入后,PHP 加密此数据。
我想添加一个功能,让用户可以下载未加密的数据副本,我希望这样做的方式是磁盘上的文件始终保持加密状态,并且未加密的副本不会存储在任何地方.
目前我应该能够逐行解密数据并将其存储在数组中,但我不知道一旦达到这一点我能做什么。有没有办法让 PHP 把一个数组当作一个文本文件,然后让客户端下载它?或者也许我可以以某种方式将数组逐行流式传输到客户端上的文件?
目前我没有代码可以展示,因为我仍在努力在脑海中弄清楚它的结构。
该解决方案还必须可以在 windows 和 Linux 服务器之间移植。
假设加密文件是纯文本。二、用伪代码写,因为不知道你的解决方法
首先,您需要解密可以echo
发送给用户的数据。或者更一般地说,表示为 String
.
的东西
我正在对 PDF 文件做一些类似的事情,所以我在 TXT 文件上显示类似的内容:
$encryptedData = $this->getEncryptedData(); // load what needs to be decrypted. Pseudocode
$filename = 'download.txt'; // file name to download. Will be download.txt
$contents = $this->decrypt($encryptedData) // $contents should be String. Decryption is pseudocode
header("Content-Type: text/plain"); //set header as TXT file
header("Content-Disposition:attachment;filename={$filename}"); //force download prompt from the browser
echo $contents; //print decrypted data to TXT
exit; //stop script after download
我目前正在学习 PHP 和一般编程。我目前正在编写我的第一个网站,我有一个简单的登录系统,用户可以以纯文本形式输入一些数据。输入后,PHP 加密此数据。
我想添加一个功能,让用户可以下载未加密的数据副本,我希望这样做的方式是磁盘上的文件始终保持加密状态,并且未加密的副本不会存储在任何地方.
目前我应该能够逐行解密数据并将其存储在数组中,但我不知道一旦达到这一点我能做什么。有没有办法让 PHP 把一个数组当作一个文本文件,然后让客户端下载它?或者也许我可以以某种方式将数组逐行流式传输到客户端上的文件?
目前我没有代码可以展示,因为我仍在努力在脑海中弄清楚它的结构。
该解决方案还必须可以在 windows 和 Linux 服务器之间移植。
假设加密文件是纯文本。二、用伪代码写,因为不知道你的解决方法
首先,您需要解密可以echo
发送给用户的数据。或者更一般地说,表示为 String
.
我正在对 PDF 文件做一些类似的事情,所以我在 TXT 文件上显示类似的内容:
$encryptedData = $this->getEncryptedData(); // load what needs to be decrypted. Pseudocode
$filename = 'download.txt'; // file name to download. Will be download.txt
$contents = $this->decrypt($encryptedData) // $contents should be String. Decryption is pseudocode
header("Content-Type: text/plain"); //set header as TXT file
header("Content-Disposition:attachment;filename={$filename}"); //force download prompt from the browser
echo $contents; //print decrypted data to TXT
exit; //stop script after download