Zend_Form_Element_File一致地说:“文件不可读或不存在。”

时间:2011-06-15 18:11:11

标签: php zend-framework zend-form-element

所以我一直在推进“Apress,Beginning Zend Framework”中包含的项目 似乎我遇到了一些麻烦。

我目前在Windows(7终极版)中使用Zf 1.11和IIS。

控制器的代码驻留在getUpdateForm()中(仅包括与此相关的部分):

$form->setAttrib('encytype', 'multipart/form-data');

//Add file upload ability
$fileUploadElement = new Zend_Form_Element_File('avatar');
$fileUploadElement->setLabel('Your Avatar')
->setDestination('../public/users');
$fileUploadElement->addValidator('Count', true, 1);
$fileUploadElement->addValidator('Extension', 'jpg,png,gif');
$form->addElement($fileUploadElement, 'avatar');
然后,aciton对包括这条线:

$form->avatar->receive();

据我所知,这符合在网站上启用文件上传控制的要求。 问题是每当我选择要上传的图像时,“文件:''不可读或不存在。”

这让我觉得这是权限问题,所以我为它设置了完整的权限。没工作。 在几十个目录中尝试过图像。不行。

我甚至创建了一个简单的脚本来测试任何被选中的图像的存在性,可读性和可写性。它返回true并表示它们是有效文件。

我在这里工作的最初几个小时在这里寻找导致这种情况的原因,我不确定。

我有一种感觉,当我弄明白时,这是让我/ facepalm出现的问题之一。

任何帮助表示赞赏。 谢谢, 肯

2 个答案:

答案 0 :(得分:1)

只是一个想法:检查上传临时目录。它设定好了吗?它是否可写入PHP?

如果没有,那么没有文件上传可以工作,Zend_Form_Element文件永远不会找到文件。

答案 1 :(得分:1)

尝试设置

$form->setEnctype(Zend_Form::ENCTYPE_MULTIPART);