求一套YII2.0上传图片并保存文件地址到数据库的代码 [ 2.0 版本 ]
如题所述。用来更换用户头像,如果能裁剪图片就更好了
最佳答案
-
先来个图片上传插件http://www.jq22.com/jquery-info12110;
然后 这是我的图片上传。创建文件夹的
//图片上传public function actionUploads(){ if($_FILES){ $path = yii::$app->request->get('path'); $imgname = key($_FILES); //$name------图片名称 //$path------图片路径("foodie") $ext = pathinfo($_FILES[$imgname]["name"], PATHINFO_EXTENSION);//后缀 if($_FILES[$imgname]["error"]!=0){ $result = array('status'=>0,'msg'=>'上传错误'); return json_encode($result);exit(); } if(!in_array(strtolower($ext),array('gif','jpg','jpeg','bmp','png'))){ $result = array('status'=>0,'msg'=>'图片格式错误'); return json_encode($result);exit(); } if($_FILES[$imgname]["size"] > 2000000){//判断是否大于2M $result = array('status'=>0,'msg'=>'图片大小超过限制'); return json_encode($result);exit(); } if(yii::$app->request->get('name')){ $name = yii::$app->request->get('name'); }else{ $name = substr(md5(microtime()),0,10).mt_rand(1,10000); } $img_path = yii::$app->request->get('type')=="album"?Yii::$app->params["album_img"]:Yii::$app->params["upload_img"]; $paths = $img_path.$path.'/'.date('Ymd')."/"; if(!is_dir($paths)){ mkdir(iconv("UTF-8", "GBK", $paths),0777,true); } $localName = $img_path.$path."/".date('Ymd')."/".$name.'.'.$ext;//图片路径 if ( move_uploaded_file($_FILES[$imgname]["tmp_name"], $localName) == true) { $result = array('status'=>1,'msg'=>'/'.$localName); } else{ $result = array('status'=>0,'msg'=>'上传失败'); } return json_encode($result); } }
这是返回图片路径。然后你提交from表单就OK!
其他 3 个回答
-
g378276308 回答于 2017-05-16 12:23 举报
本站搜索就可以找到了,反正亲测可用。
raijin 安徽合肥
注册时间:2016-03-13
最后登录:2022-09-28
在线时长:75小时44分
最后登录:2022-09-28
在线时长:75小时44分
- 粉丝3
- 金钱1880
- 威望0
- 积分2630