成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何利用yii框架實(shí)現(xiàn)文件上傳與下載功能

小編給大家分享一下如何利用yii框架實(shí)現(xiàn)文件上傳與下載功能,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、興平網(wǎng)絡(luò)推廣、小程序定制開(kāi)發(fā)、興平網(wǎng)絡(luò)營(yíng)銷(xiāo)、興平企業(yè)策劃、興平品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供興平建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:jinyejixie.com

1、CUploadedFile 實(shí)現(xiàn)單文件上傳

(1)首先在模型類(lèi)聲明一個(gè)屬性來(lái)儲(chǔ)存文件名稱(form model或active record model均可)。同樣聲明一個(gè)文件驗(yàn)證規(guī)則,以確保被上傳文件指定的擴(kuò)展名。

class Item extends CActiveRecord
{
    public $image;
    // ... other attributes
 
    public function rules()
    {
        return array(
            array('image', 'file', 'types'=>'jpg, gif, png'),
        );
    }
}

(2)然后,在控制器類(lèi)定義一個(gè)action方法收集用戶提交的數(shù)據(jù)

class ItemController extends CController
{
    public function actionCreate()
    {
        $model=new Item;
        if(isset($_POST['Item']))
        {
            $model->attributes=$_POST['Item'];
            $model->image=CUploadedFile::getInstance($model,'image');
            if($model->save())
            {
                $model->image->saveAs('path/to/localFile');
                // redirect to success page
            }
        }
        $this->render('create', array('model'=>$model));
    }
}

(3)最后,創(chuàng)建action視圖并生成一個(gè)上傳的field。

<?php echo CHtml::form('','post',array('enctype'=>'multipart/form-data')); ?>
...
<?php echo CHtml::activeFileField($model, 'image'); ?>
...
<?php echo CHtml::endForm(); ?>

2、CUploadedFile實(shí)現(xiàn)多文件上傳

方法:view視圖代碼:

for($i=0;$i<3;$i++){
    //echo $form->fileField($model,'xiangguan_tupian[]').'<br/>';//這種方法不行
    //echo CHtml::activeFileField($model,'xiangguan_tupian[]');//這種也不行
    //echo CHtml::fileField('xiangguan_tupian[]','',array('id'=>'xiangguan_tupian'.$i)).'&nbsp';//這種也不行
    echo CHtml::activeFileField($model,'xiangguan_tupian[]',array('id'=>'xiangguan_tupian'.$i));
}
?>

controller控制器端:

$model=new Info;
// echo '<hr><br>';
$obj_array=CUploadedFIle::getInstances($model,'xiangguan_tupian');
//注意這里不是getInstance而是getInstances多了個(gè)s,這樣得到的是一個(gè)包含CUploadedFile對(duì)象的數(shù)組
//print_r($obj_array);
foreach($obj_array as $k=>$v){
    $v->saveAs(Yii::app()->basePath.'/'.$k.'_test.'.$v->getExtensionName());
}

多文件上傳處理完畢。

要點(diǎn):

CUploadedFile::getInstance();    // 返回的是一個(gè)CUploadedFile對(duì)象,
CUploadeFile::getInstanceByName();   //返回的是一個(gè)CUploadedFile對(duì)象            
CUploadedFile::getInstances()    //返回的是一個(gè)值為CUploadedFile對(duì)象的數(shù)組
CUploadedFile::getInstancesByName();   //返回的是一個(gè)值為CUploadedFile對(duì)象的數(shù)組

3、使用sendFile()來(lái)下載文件

$type = LFilter::checkString($_GET['t']);
$dataProvider = Book::model()->findByPk($id);
$content = $this->renderPartial('book',array(
'dataProvider' => $dataProvider,
'type' => $type,
),true,false);
Yii::app()->request->sendFile($dataProvider->name.'.'.$type,$content);
}

看完了這篇文章,相信你對(duì)“如何利用yii框架實(shí)現(xiàn)文件上傳與下載功能”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

分享名稱:如何利用yii框架實(shí)現(xiàn)文件上傳與下載功能
文章出自:http://jinyejixie.com/article8/iiesip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版網(wǎng)站營(yíng)銷(xiāo)、響應(yīng)式網(wǎng)站、手機(jī)網(wǎng)站建設(shè)面包屑導(dǎo)航、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
周宁县| 开远市| 大同市| 本溪| 平果县| 长春市| 社旗县| 南岸区| 河西区| 昭苏县| 茂名市| 丰顺县| 临武县| 闽清县| 五寨县| 个旧市| 沂源县| 清涧县| 衡阳市| 杭州市| 临泽县| 金山区| 达州市| 固阳县| 浦城县| 邻水| 定州市| 桐柏县| 海口市| 磴口县| 宜春市| 桃园市| 仙游县| 资兴市| 中江县| 邻水| 甘泉县| 深水埗区| 准格尔旗| 伊金霍洛旗| 石门县|