簡體   English   中英

ZF2的文件上傳模塊

[英]File upload module for ZF2

我想將文件上傳功能集成到使用ZF2編碼的應用程序中。 我在Internet上找到了一些資料( link1link2 ),但是每次通過當前控制器中的表單處理文件上傳時。

在我的應用程序中,有許多控制器可供用戶上傳文件,並且我還對每個上傳的文件進行了大量處理( 例如,授權,創建縮略圖,收集諸如文件大小,圖像尺寸,頁數之類的信息)在文檔中... ),因此我想將與文件上傳相關的代碼集中在一個地方。

我當時以為我可以從不同的控制器呈現文件上傳表單,但是讓form action始終指向相同的URL (例如/uploads ),並讓我的路由將這些文件發送到例如Uploads模塊。 我一直沒有在googleZF2 modules site上尋找ZF2文件上傳模塊,所以我認為這可能不是一個好主意,因此我的問題是:

在一個控制器中生成文件上載表單,並在單獨模塊的控制器中處理文件上載有什么局限性( 我將無法使用哪些有用的功能 )?

要創建文件上傳表單字段,您需要執行以下操作:

use Zend\Form\Element;
use Zend\Form\Form;

$file = new Element('file');
$name->setAttributes(array(
    'type' => 'Zend\Form\Element\File',
    'label' => 'Upload file',
));

$form = new Form('myform');
$form->add($file);

在視圖方面:

<?php
$form->setAttribute('action', $this->url('one_of_the_routes'));
$form->setAttribute('method', 'post');
$form->setAttribute('enctype', 'multipart/form-data');
?>

<?php echo $this->form()->openTag($form); ?>
<p>
    <?php echo $this->formLabel($form->get('file')); ?>
    <?php echo $this->formInput($form->get('file')); ?>
</p>
<?php echo $this->form()->closeTag(); ?>

目前,驗證器端存在問題(至少在我上次檢查時),但我相信它將很快得到解決。 意思是雖然我只是從模型中請求$ _FILES。

注意: http//framework.zend.com/issues/browse/ZF2-327

並在以下網址閱讀該手冊: http : //packages.zendframework.com/docs/latest/manual/en/modules/zend.form.quick.start.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM