程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP開發框架Yii Framework教程(15) UI 組件 MultiFileUpload示例

PHP開發框架Yii Framework教程(15) UI 組件 MultiFileUpload示例

編輯:PHP綜合

CMultiFileUpload 用於上傳文件,支持一次同時上傳多個文件。這個UI組件是基於jQuery Multi File Upload 插件。Yii 內置的很多UI組件都是基於JQuery,因此需要創建assets 目錄用於存放動態生成的javascripts 等。

所上傳的文件的信 息可以通過$_FILES[widget-name]來訪問,比如,CMultiFileUpload的name為”files” 所上傳的文件信息可以通過$_FILES ['files']來訪問。此外包含CMultiFileUpload的Form屬性需要設置enctype=multipart/form-data。

本例創建 一個upload目錄用於存放上傳的文件。我們通過配置文件設置中個上傳文件導入目錄。

修改/config/main.php 添加項目 代碼

// application-level parameters that can be accessed     
// using Yii::app()->params['paramName']     
'params'=>require(dirname(__FILE__).'/params.php'),

為Application添加一些參數,存放參數的文件為 config/param.php

定義上傳文件的目錄如下:

// this contains the application parameters that can be 

maintained via GUI     
return array(     
         
//upload directory     
'uploadDir' => 'upload/',     
);

在代碼中可以通過Yii::app()->params['uploadDir'] 來訪問這個參數,對於這個簡單的例子,你也可 以直接使用upload/ 做為固定的常量而無需定義Application的參數params.

本例不需使用Model,我們定義View如下:

<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',     
    //'denied'=>'', message that is displayed when a file type is not allowed     
    //'duplicate'=>'', message that is displayed when a file appears twice     
    '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.'/'.Yii::app()->params['uploadDir'].$filename,     
    array('rel'=>'external'));?></li>     
<?php endforeach; ?>     
</ul>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved