2011-01-25 25 views
1

我正在测试文件上传与Zend_Form_Element_File。我的形式有这个文件中的元素是Zend_File_Transfer_Adapter_Http需要获取上传文件的信息

$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()特别是保存的例子。还有,但它在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

我认为你可以得到详细的信息在你的行动如下:

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