我使用codeigniter的加密类来加密服务器中上传的文件。然后,每当我不想像这样访问它时,我都会解密它:
$decrypted = $this->encrypt->decode($fileContents);
我现在的问题是我不知道如何处理我的变量$decrypted,我想查看我的文件,但据我到目前为止的谷歌搜索,用于查看文件的函数需要一个参数,这是一个 url,但随后我不想将解密的文件保存在服务器中以便查看它。我需要帮助。
您的 codeIgniter 加密类有问题还是文件查看问题?我的意思是,您是否正在解码文件?
只需检查这些,如果你在配置文件中提供了加密密钥。
$config['encryption_key'] = 'some_key';
1.你加载了代码点火器类吗?
$this->load->library('encrypt');
2.如果要编码的文件是查看页面,您是否正确处理了文件的内容?
$fileContents = $this->load->view('file_name','',TRUE);
3.对文件进行编码
$encrypted_string = $this->encrypt->encode($fileContents);
4.解码文件
$plaintext_string = $this->encrypt->decode($encrypted_string);
在第三步之后,您将获得一个长而混乱的字符串,即加密字符串。在第四步之后,您将取回文件内容。
您可以在每个步骤上回显结果以进行验证。
希望这能让你对codeIgniter加密类有一个了解。
@Ismael米格尔是对的。我只需要用正确的内容类型将其吐出到浏览器:/ 标头。喜欢这个:
header("Content-type:application/pdf");
echo $decrypted;
我知道如果该人有插件可以在浏览器中查看它,该文件就会出现。我认为有更好的方法可以做到这一点。