我使用codeigniter的加密类来加密我服务器中上传的文件。然后,只要我不想这样访问它,我就会解密它:
$decrypted = $this->encrypt->decode($fileContents);
我现在的问题是我不知道如何处理我的变量$ decrypted,我想查看我的文件但是到目前为止我用google搜索,查看文件的函数采用的参数是一个网址,但后来我不想将解密后的文件保存在服务器中以便查看。我需要帮助。
答案 0 :(得分:1)
您的codeIgniter加密类问题或文件查看问题?我的意思是,你是否正在解码文件?
如果您在配置文件中提供了加密密钥,请检查这些内容。即,
$config['encryption_key'] = 'some_key';
1.你加载了codeIgniter类吗?
$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加密类。
答案 1 :(得分:0)
@Ismael Miguel是对的。我只需要使用正确的Content-type: / 标头将其吐出到浏览器中。像这样:
header("Content-type:application/pdf");
echo $decrypted;
据我所知,如果此人有一个插件可以在浏览器中查看该文件,那么该文件就会出现。我认为有更好的方法可以做到这一点。