随心的博客

好记性不如个烂笔头,随心记录!

返回顶部

TP6如何使用文件上传

TP6文件上传示例:

一、最简单的文件上传代码

html:

<h3>TP6单文件上传</h3>

<form action="/index.php/test_upload/uploadAct01" enctype="multipart/form-data" method="post">
  <p>请选择文件: <input type="file" name="file1" /> </p>
  <p><input type="submit" value="提交"></p>
</form>
控制器:

/**
     * TP6文件上传操作
     */
    public function uploadAct01()
    {
        // 获取表单上传文件 例如上传了001.jpg
        $file = request()->file('file1');
        // 上传到本地服务器
        echo $savename = \think\facade\Filesystem::disk('public')->putFile( 'files', $file);
    }

 

文件被上传到了,public/storage/files/20211030 目录

 

二、多文件上传示例

html:

<h3>TP6单文件上传</h3>

<form action="/index.php/test_upload/uploadAct02" enctype="multipart/form-data" method="post">
  <p>请选择文件1: <input type="file" name="files[]" /> </p>
  <p>请选择文件2: <input type="file" name="files[]" /> </p>
  <p>请选择文件3: <input type="file" name="files[]" /> </p>
  <p>请选择文件4: <input type="file" name="files[]" /> </p>
  <p>请选择文件5: <input type="file" name="files[]" /> </p>

  <p><input type="submit" value="提交"></p>
</form>
控制器:

/**
     * TP6多文件上传操作
     */
    public function uploadAct02()
    {
        // 获取表单上传文件 
        $files = request()->file('files');

        $savename = [];
        foreach($files as $file){
            $savename[] = \think\facade\Filesystem::disk('public')->putFile( 'files', $file);
        }
        print_r($savename);
    }
多文件上传bug,每个文件框必须要选择文件,不然就会报错!怎么不会内部判断下吗?
如果项目中遇到这个问题,解决办法就是自己写上传功能就好了,不用tp6的上传

 

 

posted @ 2021-11-04 15:23  yangphp  阅读(2716)  评论(0编辑  收藏  举报