用框架实现图片上传很简单,就不多说了,然后这个框架的实现机制是这样的,我们选择图片,点击上传,他会将图片保存在uploads下,以当天时间和随机字母作为图片名,然后在返回个数字,这个数字是这个图片的id,需要路径时,只需要通过这个id,使用get_file_path($id)就可以获取他的具体路径了,但是我们需要的图片路径一般是http://192.168.1.105/uploads/images/20190802/899cddd590ba116820b4e8227882709b.jpg,我们只需要拼接一下就好了,http://".$_SERVER['SERVER_NAME'].get_file_path($vv);,http或者https,然后是当前域名或者服务器名,然后就是我们的图片地址啦。
然后我们比如说需要给前端返回多组数据,怎么把数字转换成图片路径呢?我的代码是
$data=Db::name('residence')->alias('a') ->join('dp_area e','a.area_id=e.id') ->join('dp_fund f','a.fund_id=f.id') ->join('dp_address g','a.qu=g.id') ->field('a.id,a.name,a.status,a.price,a.type,a.pic,g.qu,a.quan,e.rname,f.fprice') ->where('new','=','1') ->order('id') ->page($page,5) ->select(); $arr=array(); foreach ($data as $k => $v) { foreach ($v as $kk => $vv) { if ($kk=="pic") { $v[$kk]="http://".$_SERVER['SERVER_NAME'].get_file_path($vv); //将图片id替换成具体路径 } } $arr[$k]=$v; //将图片id更换成具体路径的数据 }
大概就是这样子。