tp5.1+微信小程序单图片、多图片文件上传之图片路径处理(相对路径与绝对路径)

一、如何把字符串"…/public/uploads/mednews/2019/09/24/5d89926c0de9d.png" 中的字符 “…/public/” 替换为 "当前主机的ip?

$photo=str_replace("../public",$this->request->ip(),$photo);

结果为

127.0.0.1/uploads/mednews/2019/09/24/5d899d02007a1.jpg

二、将上传的图片保存到一个数组中;读取时以“;”来分割,并保存到数组中

127.0.0.1/uploads/mednews/2019/09/24/5d89926c0de9d.png;127.0.0.1/uploads/mednews/2019/09/24/5d89926c0de9d.png;127.0.0.1/uploads/mednews/2019/09/24/5d89926c0de9d.png;127.0.0.1/uploads/mednews/2019/09/24/5d89926c0de9d.png

截取以分号隔开的图片路径

$imgs = explode(";",$res['imgs']);

结果为

array([
127.0.0.1/uploads/mednews/2019/09/24/5d89926c0de9d.png,
127.0.0.1/uploads/mednews/2019/09/24/5d89926c0de9d.png,
127.0.0.1/uploads/mednews/2019/09/24/5d89926c0de9d.png
])

三、p5图片上传接口

public function uploadImg(){
    //接收文件类型,并分文件夹保存
    $type=input("param.type");
    //接收上传的文件
    $file = $this->request->file('file');
    if(!empty($file)){
        //图片存的路径
        $imgUrl= '../public/uploads'.'/'. $type.'/' .  date("Y/m/d");
        // 移动到框架应用根目录/public/uploads/ 目录下
        $info = $file->validate(['size'=>1048576,'ext'=>'jpg,png,gif'])->rule('uniqid')->move($imgUrl);
        $error = $file->getError();
        //验证文件后缀后大小
        if(!empty($error)){
            dump($error);exit;
        }
        if($info){
            // 成功上传后 获取上传信息
            //获取图片的名字
            $imgName = $info->getFilename();
            //获取图片的路径
            $photo=$imgUrl . "/" . $imgName;
        }else{
            // 上传失败获取错误信息
            $file->getError();
        }
    }else{
        $photo = '';
    }
   if($photo !== ''){
		$photo=str_replace("../public/",$this->request->ip(),$photo);
        return ['code'=>1,'msg'=>'成功','photo'=>$photo];
    }else{
        return ['code'=>404,'msg'=>'失败'];
    }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值