这篇文章将为大家详细讲解有关yii框架如何实现图片上传功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
yii框架实现图片上传功能的源码:
1、model
<?php namespace 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、视图层
<?php use 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框架如何实现图片上传功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。