2011-06-15 20 views
1

所以我一直在“Apress,开始Zend框架” 中包含的项目,似乎我遇到了一些障碍。Zend_Form_Element_File一致地说:“文件不可读或不存在。”

我目前在Windows(7最终)w/IIS中使用Zf 1.11。

用于控制器的代码驻留在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对然后inlcudes行:

$form->avatar->receive(); 

据我理解,这符合在网站上启用文件上传控制的要求。 问题是,只要我选择一个图片上传它说“文件:”不可读或不存在。“

这导致我认为这是一个权限问题,所以我为它设置了完全权限。没有工作。 已经尝试了几十个目录中的图像。不起作用。

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

我已经在这里工作了几个小时,在这里工作了,究竟是什么会导致这种情况,我不确定。

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

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

+0

只是一个想法:检查上传的临时目录。它是否设置?它可写入PHP吗? – hakre 2011-06-15 18:27:19

+0

是的,/ facepalm。 非常感谢! – Ken 2011-06-15 18:39:46

+0

没问题,我会以广告的形式作为回答,你可以在这里留下问题,这样有助于他人。 – hakre 2011-06-15 18:42:24

回答

1

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

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

1

尝试设置

$form->setEnctype(Zend_Form::ENCTYPE_MULTIPART); 
相关问题