首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

Yii Framework 教程(15):CMultiFileUpload 多檔案上傳範例

     編輯:PHP 綜合知識

CMultiFileUpload 用於上傳檔案,支援一次上傳多個檔案。此元件基於 jQuery Multi File Upload 外掛。Yii 許多內建 UI 元件基於 jQuery,故需建立 assets 目錄存放動態產生的 JavaScript 等檔案。

檔案資訊存取

上傳檔案資訊可透過 $_FILES[widget-name] 存取。例如 CMultiFileUpload 的 name 為 files,則透過 $_FILES['files'] 存取。包含該元件的表單需設定 enctype=multipart/form-data。

建立上傳目錄與配置

建立 upload 目錄存放上傳檔案。修改 /config/main.php 加入參數:

'params' => require(dirname(__FILE__).'/params.php'),

建立 config/params.php 定義上傳目錄:

return array(
    'uploadDir' => 'upload/',
);

程式中可透過 Yii::app()->params['uploadDir'] 存取。

視圖定義

本例不需 Model,直接定義視圖:

<center class="form">
<?php $form = $this->beginWidget('CActiveForm', array(
    'method' => 'post',
    'htmlOptions' => array('enctype' => 'multipart/form-data'),
)); ?>
<?php $this->widget('CMultiFileUpload', array(
    'name' => 'files',
    'accept' => 'jpg|png',
    'max' => 3,
    'remove' => 'Remove',
    'htmlOptions' => array('size' => 25),
)); ?>
<center class="row submit">
<?php echo CHtml::submitButton('Upload'); ?>
</center>
<?php $this->endWidget(); ?>
</center><!-- form -->
<ul>
<?php foreach($this->findFiles() as $filename): ?>
    <li><?php echo CHtml::link($filename, Yii::app()->baseUrl.'/'.$filename, array('rel' => 'external')); ?></li>
<?php endforeach; ?>
</ul>
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved