如何在Zend Framework 2中接收文件

时间:2014-09-03 10:10:23

标签: php zend-framework zend-framework2

我正在使用ZF2。

我发送的文件是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 个答案:

答案 0 :(得分:-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进行上传