我正在使用Zend_Form_Element_File
测试文件上传。我的表单有这个文件元素
$file = new Zend_Form_Element_File('file');
$file->setDestination(APPLICATION_PATH);
$this->addElement($file);
在操作中,我看过只使用->receive()
保存文件的示例
if($isPost()){
if($formIsValid()){
$form->file->receive();
}
}
其他示例使用Zend_File_Transfer_Adapter_Http()
,尤其是在尝试获取文件信息时。仍有receive()
,但它们在动作中定义的http_adapter上。
if($isPost()){
if($formIsValid()){
$upload = new Zend_File_Transfer_Adapter_Http();
$upload->receive();
$name = $upload->getFileName('file');
}
}
我的问题:我可以像第一个示例一样使用$form->file->receive()
,但仍然可以获取文件详细信息。我试过做$thefile = $form->file->receive();
但是$ thefile原来是一个布尔值。
我基本上想要使用$form->file->receive()
而无需在动作中定义Zend_File_Transfer_Adapter_Http
。是否有可能?
答案 0 :(得分:1)
我认为您可以按照以下步骤获取详细信息:
$fileElem = $photosForm->getElement('file');
$adapter = $fileElem->getTransferAdapter();
var_dump($adapter->getFileInfo());