使用Zend_File_Transfer_Adapter_Http上传和加密文件

时间:2012-01-08 21:43:07

标签: zend-framework encryption upload

在标题为“Filters for Zend_File_Transfer”的Zend Framework文档中,它说文件可以使用文件名选项加密并保存为其他名称。

  

此过滤器支持一个附加选项,可用于使用另一个文件名保存加密文件。设置文件名选项以更改将存储加密文件的文件名。如果您取消此选项,加密文件将覆盖原始文件。

如何指定文件名选项?我试过了:

$upload = new Zend_File_Transfer_Adapter_Http();
$upload->addFilter('Encrypt', array('adapter' => 'mcrypt', 'key' => 'mykey'), 'file.txt');

$upload = new Zend_File_Transfer_Adapter_Http();
$upload->addFilter('Encrypt', array('adapter' => 'mcrypt', 'key' => 'mykey', 'filename' => 'file.txt'));

两者似乎都不起作用。

1 个答案:

答案 0 :(得分:2)

我查看了Zend/File/Transfer/Adapter/Http.php并且文件名似乎不是此适配器的有效选项。
也许这是文档中的Bug 相反,您可以使用重命名 -Filter来更改文件名。

$upload = new Zend_File_Transfer_Adapter_Http();

$upload->addFilter('Rename', array('target' => APPLICATION_PATH . '/../data/file.txt'));
$upload->addFilter('Decrypt', array('adapter' => 'mcrypt', 'key' => 'mykey'));

$upload->receive();