1

所以我一直在参与“Apress,Beginning Zend Framework”中包含的项目,似乎我遇到了一些障碍。

我目前在带有 IIS 的 windows(7 Ultimate) 中使用 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 对包含以下行:

$form->avatar->receive();

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

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

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

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

我有一种感觉,这是当我弄清楚时会让我/facepalm 的那些问题之一。

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

4

2 回答 2

1

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

如果没有,则无法上传文件,并且 Zend_Form_Element_File 将永远找不到文件。

于 2011-06-15T18:43:16.767 回答
1

尝试设置

$form->setEnctype(Zend_Form::ENCTYPE_MULTIPART);
于 2011-11-26T18:57:41.240 回答