簡體   English   中英

我怎樣才能讓 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM