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'=>'失败'];
    }
}

你可能感兴趣的:(小程序,php,小程序)