這篇文章主要介紹“yii如何使用activeFileField控件實(shí)現(xiàn)上傳文件與圖片”,在日常操作中,相信很多人在yii如何使用activeFileField控件實(shí)現(xiàn)上傳文件與圖片問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”yii如何使用activeFileField控件實(shí)現(xiàn)上傳文件與圖片”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到望謨網(wǎng)站設(shè)計(jì)與望謨網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類(lèi)型包括:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋望謨地區(qū)。本文實(shí)例講述了yii使用activeFileField控件實(shí)現(xiàn)上傳文件與圖片的方法。分享給大家供大家參考,具體如下:
yii框架提供了activeFileField控件來(lái)完成上傳文件(當(dāng)然也包括了上傳圖片)的操作,下面介紹yii的activeFileField使用方法。
1、函數(shù)原型:
復(fù)制代碼 代碼如下:
public static string activeFileField(CModel $model, string $attribute, array $htmlOptions=array ( ))
2、調(diào)用例子:
(1)首先,設(shè)置form,這一步一 定要做,把form設(shè)置為'multipart/form-data',具體請(qǐng)看我的:
beginWidget('CActiveForm', array( 'id'=>'books-form', 'enableAjaxValidation'=>false, 'htmlOptions'=>array('enctype'=>'multipart/form-data'), )); ?>
(2) 接著,在view下的form里設(shè)置:
labelEx($model,'BookImg'); ?> error($model,'BookImg'); ?>
(3) 如果你想預(yù)覽圖片,那么請(qǐng)注意了,可以加上這么一段:
BookImg.'" />'; ?>
(4)最后,需要在控制類(lèi)里加上下面的:
if($model->save()) { $image=CUploadedFile::getInstance($model,'BookImg'); if (is_object($image) && get_class($image)==='CUploadedFile') { $image->saveAs("D:/aaa/aa.jpg");//路徑必須真實(shí)存在,并且如果是linux系統(tǒng),必須有修改權(quán)限 } $this->redirect(array('view','id'=>$model->BookId)); }
請(qǐng)注意:這里是添加的時(shí)候使用的,修改的話要有所改變。
(5)限制上傳的文件必須是圖片,還有限制圖片大小,那么請(qǐng)到model層里的rules新增這么一句:
array('BookImg', 'file','allowEmpty'=>true, 'types'=>'jpg, gif, png', 'maxSize'=>1024 * 1024 * 1, // 1MB 'tooLarge'=>'The file was larger than 1MB. Please upload a smaller file.', )
到此,關(guān)于“yii如何使用activeFileField控件實(shí)現(xiàn)上傳文件與圖片”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!