是否需要Zend_File_Transfer_Adapter_Http来获取上传文件的信息

时间:2011-01-25 05:02:05

标签: php zend-framework

我正在使用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。是否有可能?

1 个答案:

答案 0 :(得分:1)

我认为您可以按照以下步骤获取详细信息:

            $fileElem = $photosForm->getElement('file');
            $adapter = $fileElem->getTransferAdapter();
            var_dump($adapter->getFileInfo());