无法在Zend框架中上传文件

时间:2012-07-25 10:56:26

标签: php zend-framework file-upload

我无法在setDestination()的功能中设置路径以在zend框架中上传文件。

当我使用以下路径时,我的文件已成功上传:

$upload = new Zend_File_Transfer_Adapter_Http();
$upload->setDestination("C:/");

但实际上我想上传目录中的文件,如upload_folder,它位于zend框架的公共目录中。我尝试过我的代码:

$upload = new Zend_File_Transfer_Adapter_Http();            
$upload->setDestination($this->view->baseUrl()."/upload_folder/");

但该文件未上传到上述路径目录中。

任何人都可以帮助我吗?如何在Project_Directory/public/upload_folder中设置文件上传路径?

2 个答案:

答案 0 :(得分:3)

setDestination需要文件系统路径,因此C:/的工作原理和使用baseUrl的原因不一样。

$this->view->baseUrl将是http://yourserver.com(这是一个网址,而不是文件系统路径)。

如果您像大多数示例一样设置了Zend Framework,那么您应该将APPLICATION_PATH变量设置为例如C:/project/application(例如,你也可以C:/project/public)。

如果您确实有APPLICATION_PATH(只需回复它以查看它的去向),那么您可以使用setDestination(APPLICATION_PATH.'/../public/upload_folder/');

答案 1 :(得分:1)

使用APPLICATION_PATH常量

设置上传路径
setDestination(APPLICATION_PATH.'/../public/upload_folder/')