下面是yii框架实现图片上传功能的源码,希望能对大家有所帮助。
(学习视频分享:编程视频)
1、model
<?phpnamespace frontend\models; use yii\base\model;use yii\web\uploadedfile;use yii\db\activerecord;use yii\db\query; class uploadform extends activerecord{ /** * @var uploadedfile */ public $t_img; public $t_title; public $t_content; public function rules() { return [ [['t_img'], 'file', 'skiponempty' => false, 'extensions' => 'png, jpg,bmp,jpeg'], ]; } public function attributelabels() { return [ 't_img'=>'请上传文章图片', 'verifycode' => '请在右面输入验证码', ]; } public function upload() { $imgname=time().rand(100,999).".".$this->t_img->extension; if ($this->validate()) { $this->t_img->saveas('uploads/' .$imgname); $path='uploads/' .$imgname; return $path; } else { return false; } }} ?>
2、控制器
$data=yii::$app->request->post(); $data['t_addtime']=date('y-m-d h:i:s'); $upload->t_img = uploadedfile::getinstance($upload, 't_img'); $path=$upload->upload();
3、视图层
<?phpuse yii\widgets\activeform;use yii\helpers\html;use yii\helpers\url;?><?=html::a('返回','?r=course/classspace&c_id='.$c_id)?><?php $form=activeform::begin( [ 'options' => ['enctype' => 'multipart/form-data'], 'method'=>'post', ]);?><table class="table"> <tr> <td> <input type="text" placeholder="请填写话题标题" name="t_title" id="t_title" value=<?=$coursedraft['d_title']?> > </td> </tr> <tr> <td> <textarea name="t_content" id="t_content" cols="30" rows="10" placeholder="请填写话题内容"><?=$coursedraft['d_content']?></textarea> </td> </tr> <tr> <td> <?=$form->field($upload,'t_img')->fileinput()?> </td> </tr> <tr> <div class="btn-group"> <td> <?=html::submitbutton('提交话题',['class'=>'btn btn-success'])?> </td> </div> </tr></table><?php activeform::end();?><input type="hidden" value=<?=$c_id?> id="c_id" /></body><?php$js = <<<end $(function(){// $(document).on('click','#caogao',function() {// var title = $("#t_title").val();// var content = $("#t_content").val();//// $.ajax({// type: "post",// url: "?r=course/coursedraft",// data: {t_title: title, t_content: content, d_id: d_id}// })// }) function show(){ var title=$("#t_title").val(); var content=$("#t_content").val(); var c_id=$('#c_id').val(); $.ajax({ type: "post", url: "?r=course/coursedraft", data: {d_title:title,d_content:content,c_id:c_id,d_state:0} }); } setinterval(show,5000); })end;$this->registerjs($js);?></html>
相关推荐:yii框架
以上就是yii框架实现图片上传源码分享的详细内容。