查看由Codeigniter的加密类加密的文件

时间:2015-01-12 09:31:36

标签: php codeigniter

我使用codeigniter的加密类来加密我服务器中上传的文件。然后,只要我不想这样访问它,我就会解密它:

$decrypted = $this->encrypt->decode($fileContents);

我现在的问题是我不知道如何处理我的变量$ decrypted,我想查看我的文件但是到目前为止我用google搜索,查看文件的函数采用的参数是一个网址,但后来我不想将解密后的文件保存在服务器中以便查看。我需要帮助。

2 个答案:

答案 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;

据我所知,如果此人有一个插件可以在浏览器中查看该文件,那么该文件就会出现。我认为有更好的方法可以做到这一点。