欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

thinkPHP5——后端之文件上传

程序员文章站 2022-06-02 23:27:37
...

所需文件:

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软件:

thinkPHP5——后端之文件上传

相关标签: php upload file