这篇文章将为大家详细讲解有关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如何实现图片上传”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。