yii 图片上传

参考:http://sunnycoolboy.i.sohu.com/blog/view/179686775.htm



1、函数原型:
public static string activeFileField(CModel$model,string $attribute, array $htmlOptions=array ( ))
2、调用例子:
(1)首先,设置form,这一步一 定要做,把form设置为’multipart/form-data’,具体请看我的:

<?php$form=$this->beginWidget(‘CActiveForm’, array(
‘id’=>’books-form’,
‘enableAjaxValidation’=>false,
‘htmlOptions’=>array(‘enctype’=>’multipart/form-data’),

)); ?>


_form.php

<!--图片上传-->
    <div class="row">
        <?php echo $form->labelEx($model,'Images'); ?>
        <?php /* echo $form->textField($model,'Images',array('size'=>60,'maxlength'=>255)); */ ?>
        <?php 

            echo "<input type='hidden' value='".$model->downloadurl."'";//把值传过去  修改字段时不加这句会丢失,

             echo CHtml::activeFileField($model,'Images'); ?>  <!--调用控件-->
        <?php echo $form->error($model,'Images'); ?>
    </div>



(3) 如果你想预览图片,那么请注意了,可以加上这么一段:
<div class=”row”>

<?php echo ‘图片预览’?>
<?php echo ‘<imgsrc=”http://www.yerlife.cn/’.$model->BookImg.’”style=”width:200px;height:300px;”/>’;?>

</div>



controller.php

public function actionCreate()
    {
        $model=new Trafficevent;

        // Uncomment the following line if AJAX validation is needed
        // $this->performAjaxValidation($model);
        if(isset($_POST['Trafficevent']))
        {
            $_POST['Trafficevent']['Endtime'] = strtotime($_POST['Trafficevent']['Endtime']);
            
            
            $model->attributes=$_POST['Trafficevent'];
            //var_dump($_POST['Trafficevent']);
            
            //图片上传
            $image=CUploadedFile::getInstance($model,'Images');
            
            if(isset($image->extensionName)){
                $url=time().".".$image->extensionName;
                $imageurl = substr(Yii::app()->request->hostInfo.Yii::app()->homeUrl,0,-9)."images/trafficevent/".$url;
                $model->Images=$imageurl;
                $image->saveAs("./images/trafficevent/".$url);
            } 
            //$_POST['Trafficevent']['Images'] = $haha;
            if($model->save())
                $this->redirect(array('view','id'=>$model->id));
        }

        $this->render('create',array(
            'model'=>$model,
        ));
    }



models:

array('Images', 'file','allowEmpty'=>true,
                'types'=>'jpg, gif, png',
                'maxSize'=>1024 * 1024 * 1, // 1MB
                'tooLarge'=>'图片须小于 1 MB.',
                ),
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值