2014-09-03 43 views
0

我正在使用ZF2。如何在Zend Framework中接收文件2

我通过HTML表格发送的文件不是由Zend/Form生成的。现在我正在试图通过$_FILES来获取该文件。我尝试了下面的PHP代码,但我得到的所有print_r is Array ([upload] => bnk.csv)

如何获得该文件的所有元数据,如temp_dir ??? ....我是新来的Zend所以不知道我是否被迫使用Zend/Form创建表单,这看起来很愚蠢,因为我只有一个文件上传字段,可以更直观地从视图管理。

$request = $this->getRequest(); 
      if($request->isPost()){ 
       $post= array_merge_recursive($request->getPost()->toArray(), $request->getFiles()->toArray()); 
       print_r($post); 
      } 


<form id="upload" method="post" action="bnk/upload/csv" enctype="multipart/form-data"> 
     <label for="upload">Upload CSV File</label> 
     <input type="file" name="upload" /> 
     <input type="submit"/> 
</form> 

回答

-1
/* upload */ 
    $upload = new Zend_File_Transfer_Adapter_Http(); 
    $upload->setDestination("folder for upload"); 

    $upload->addValidator('Size',false, 1024 * 1024 * 5); //size limit 
    $upload->addValidator('Extension',false,'zip,rar'); //extension limit 

    $files = $upload->getFileInfo(); 

    foreach($files as $file=>$info){ 
     //if file is valid 
     if($upload->isValid($file)){ 
      //confirm to upload 
      $upload->receive($file); 
     } 
    } 

我用Zend_File_Transfer_Adapter_Http上传

+0

这是ZF1没有? – 2014-09-03 10:23:04

+0

修改为$ upload = new Zend \ File \ Transfer \ Adapter \ Http();在ZF2? – Parfait 2014-09-03 10:26:09

+0

当我做'$ upload = new Http();尝试打印出$ this-> request-> getFiles() - > toArray(),该数组是空的 – 2014-09-03 10:32:46