yii2上传图片功能,图片可以上传,但是save方法无法插入数据到数据库怎么办? [ 2.0 版本 ]
public function actionCreate()
{
//实例化模型
$model = new Arti();
//定义文件上传根目录
$rootPath = "uploads/";
//判断是否有POST数据
if( $model->load( Yii::$app->request->post() ) )
{
//调用uploadedfile模型中的getInstance方法 返回一个实例
$file = UploadedFile::getInstance($model,'logo');
//调用模型中的属性 返回上传文件的名称
$name = $file->name;
//定义上传文件的二级目录
$path = date('Y-m-d',time());
//拼装上传文件的路径
$rootPath = $rootPath . $path . "/";
if (!file_exists($rootPath)) {
mkdir($rootPath,true);
}
//调用模型类中的方法 保存图片到该路径
$file->saveAs($rootPath . $name);
//为模型中的logo属性赋值
$model->logo = $rootPath . $name;
// echo "<pre>";
// var_dump($_POST);
// die;
if($model->save()){
return $this->redirect(['index']);
}
}
return $this->render('create', ['model' => $model]);
}
像这样 调用save之后通不过 数据插入不到数据库 为什么。。。 还有 这段代码 我不处理图片就可以插入数据 为何 加入了处理图片代码 就不行了呢?
共 13 个回答
-
function option_image_upload(objs,id) { type = id; $(objs).parent().append($(objs).clone(true)); $("#test").empty(); $("#test").append(objs); $("#test").submit(); } $('#test').submit(function(){ $(this).ajaxSubmit({ type:"post", dataType:"json", url:'__MODULE__/'+'Expert/upload_image', success:function(e) { // console.log(e); if(e.status) { $('#img_uploaded'+type).attr('src', e.data.url); $('#img_uploaded'+type).css('display', 'block'); $('#img_path'+type).val(e.data.key); } } }
-
<tr> <td>专家图片:<br/>(推荐尺寸:280*280)</td> <input type="hidden" name="portrait" id="img_path1" class="img_path"> <td> <span id = "xingxing" class="must_red">*</span> <input class="option-image-upload" type="file" onChange="option_image_upload(this, 1)" name="carousel_file1" id="carousel_file1"> </td> </tr>
看没看到。 你看看你自己的隐藏域 你看看名字对不对得上
共 1 条回复 -
我也遇到同样的问题,处理方法如下:
namespace app\models; use Yii; use yii\db\ActiveRecord; class Page extends ActiveRecord { public function rules() { return [ [['title', 'img_url'], 'required'], [['img_url'], 'file', 'skipOnEmpty' => true, 'extensions' => 'png, jpg'], //这里是关键 skipOnEmpty 设为true ]; } public function upload() { if ($this->validate()) { $file_path = 'uploads/' . time() . $this->img_url->extension; $this->img_url->saveAs($file_path); return $file_path; } else { return false; } } }
action里写法
public function actionIndex() { $model = new Page(); if (Yii::$app->request->isPost && $model->load(Yii::$app->request->post())) { $model->img_url = UploadedFile::getInstance($model, 'img_url'); $file_path = $model->upload(); if ($file_path !== false) { $model->img_url = $file_path; $model->add_date = time(); // 文件上传成功 if ($model->save()) { $this->redirect(array('step/show', 'id' => $model->id)); } } } return $this->render('index', [ 'model' => $model, ]); }
我的丶关键词
注册时间:2016-04-25
最后登录:2017-05-09
在线时长:11小时40分
最后登录:2017-05-09
在线时长:11小时40分
- 粉丝1
- 金钱83
- 威望0
- 积分193