thinkPHP5——后端之文件上传

所需文件:

文件上传代码:

namespace app\index\controller;
use think\Controller;
class Lib extends Controller{
    /**
    * 文件上传
    */
    public function upload(){
        //print_r($_SERVER);//查询当前服务器信息
        //接收文件流数据
        $file = request()->file('image');
        if (empty($file)) {
            return json(['code'=>400,'msg'=>'请选择上传文件']);
        }
        //整理路径/文件名
        // 转化文件名字符
        $savename = iconv("UTF-8", "gbk",$file->getInfo()['name']);
        //移动到框架应用根目录/public/uploads/ 目录下
        //保存文件
        $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads',$savename);
        //返回文件路径
        $data = 'http://'.$_SERVER['HTTP_HOST']. '/public/uploads/' . $file->getInfo()['name'];
        if ($info) {
            echo json_encode(['img'=>$data]);exit;
        }
        else {
            //上传失败获取错误信息
            return json(["code" => -4, "msg" => "文件上传失败", "data" => $file->getError()]);
        }
    }

查看是否能实现,可用postman软件:

猜你喜欢

转载自blog.csdn.net/angryshan/article/details/81412546