我在手册中看到了很多关于创建表单来上传文件的问题和信息。我已经能够设置一个表单来处理文件上传。是否有任何基于Zend的代码用于在文件下载后对其进行处理。
每个教程或手册参考似乎都有类似的内容:
if ($form->isValid()) {
//
// ...Save the form...
//
}我可以使用像move_uploaded_file这样的原生php函数来管理上传。我是否遗漏了什么,或者Zend只是退回到使用临时文件名作为其他代码中的数据段?
发布于 2013-04-18 01:22:06
它在手册里
http://framework.zend.com/manual/2.1/en/modules/zend.form.file-upload.html
// File: MyController.php
public function uploadFormAction()
{
$form = new UploadForm('upload-form');
if ($this->getRequest()->isPost()) {
// Make certain to merge the files info!
$post = array_merge_recursive(
$this->getRequest()->getPost()->toArray(),
$this->getRequest()->getFiles()->toArray()
);
$form->setData($post);
if ($form->isValid()) {
$data = $form->getData();
// Form is valid, save the form!
return $this->redirect()->toRoute('upload-form/success');
}
}
return array('form' => $form);
}成功上传文件后,$form->getData()将返回:
array(1) {
["image-file"] => array(5) {
["name"] => string(11) "myimage.png"
["type"] => string(9) "image/png"
["tmp_name"] => string(22) "/private/tmp/phpgRXd58"
["error"] => int(0)
["size"] => int(14908679)
}
}使用您从$form->getData()获得的数组来处理上传的文件。
您还可以设置目标并使用名为的筛选器对其进行重命名。
下面的链接对此有很好的解释:
希望这能有所帮助。
https://stackoverflow.com/questions/16065418
复制相似问题