Yii2 上传图片
来源:互联网 发布:淘宝火拼单咋下 编辑:程序博客网 时间:2024/04/29 05:39
刚学习yii2有点头大,这个图片多图功能后续另外再测试下.目前单图上传无压力..
1- 首先先搭个简单的数据库
product | CREATE TABLE `product` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id', `title` varchar(255) NOT NULL, `bigpic` varchar(255) NOT NULL, `smallpics` varchar(255) NOT NULL, `desc` text NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
2- 搭建完毕数据,可以用Gii生成下model和CURD,这个不累赘说明
3- 在controller里开始写逻辑,涉及上传可以考虑内置的UploadedFile.用这个吧
use yii\web\UploadedFile; public function actionCreate() { $model = new Product(); $uploadSuccessPath = ""; if ($model->load(Yii::$app->request->post()) ) { $model->bigpic = UploadedFile::getInstance($model,'bigpic'); $dir = './uploads/'.date("Ymd"); if(!is_dir($dir)){ mkdir($dir,0777,true); } if($model->validate()){ $filename = date("YmdHms").$model->bigpic->baseName . "." . $model->bigpic->extension; $dir = $dir."/". $filename; $model->bigpic->saveAs($dir); } $model->save(); return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', [ 'model' => $model, ]); } }
为了省麻烦,我在Create里面直接做,视图因为引用的是_form.php模板, 所以里面去修改
用composer安装下组件,然后操作
$ php composer.phar require kartik-v/yii2-widget-fileinput "@dev"
进一步编辑视图,这个参考这个Github项目
use yii\helpers\Html;use yii\widgets\ActiveForm;use kartik\file\FileInput;<div class="product-form"> <?php $form = ActiveForm::begin(['options'=>['enctype'=>'multipart/form-data']]); ?> <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?> <?php echo $form->field($model, 'bigpic')->label('多图上传')->widget(FileInput::classname(), [ 'options' => ['multiple' => true], 'pluginOptions' => [ 'showUpload' => false, 'browseLabel' => '', 'removeLabel' => '', 'mainClass' => 'input-group-lg' ] ]); ?> <?php echo $form->field($model, 'smallpics')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'desc')->textarea(['rows' => 6]) ?> <div class="form-group"> <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> </div> <?php ActiveForm::end(); ?>
阅读全文
1 0
- Yii2.0 上传图片
- yii2图片上传
- yii2图片上传
- Yii2::上传图片
- Yii2 上传图片
- yii2图片上传组件,多图上传,图片上传预览
- yii2利用自带UploadedFile上传图片
- yii2 之图片上传插件fileinput使用说明
- Yii2 uploadify ajax上传图片 上传多图、单图
- yii2文件(图片)上传,url保存到数据表
- yii2 自定义组件-全局使用图片上传功能
- Yii2.0在控制器简单的上传图片加入库
- yii2解决百度编辑器umeditor图片上传问题
- Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片
- Yii2上传文件
- yii2文件上传
- Yii2.0文件上传
- YII2 CURL 上传
- javascript高级程序设计第三版 第五章 引用类型
- Mybatis使用Mapper代理的方式生成DAO接口的实现类对象
- scrollview嵌套listview、gridview时全面展示重新设置高度的工具类
- HDU
- 带图片指示器的进度条
- Yii2 上传图片
- 交换两个变量的值,要求不使用第三个变量实现
- vue tab切换
- mysql 索引的优化
- php引用(&)的理解
- javascript高级程序设计第三版 第六章 面向对象的程序设计
- VS2014:"64位调试操作花费的时间比预期要长",无法运行调试解决办法
- 文字区域检测
- mysql 连接池连接超时的问题(The last packet sent successfully to the server was 776,652 milliseconds ago)