2014-09-03 15 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