首页 > php框架 > ThinkPHP > 正文

tp之文件上传

花姐姐
发布: 2020-05-06 13:50:41
转载
2531 人浏览过

tp之文件上传

经常使用ThinkPHP3后,在使用ThinkPHP5上费了好些功夫,今天总结一下关于tp5的文件上传,具体代码详情如下:

模板页(一定要加上enctype="multipart/form-data"):

 <form action="{:url(&#39;index/index/upQuestionsWrite&#39;)}" method="post" class="form form-horizontal" enctype="multipart/form-data" id="addform">    
        <div class="row cl">  
        <label class="form-label col-xs-4 col-sm-2">选择试题文件:</label>  
        <div class="btn-upload form-group">  
            <input type="text" name="uploadfile" id="uploadfile" class="input-text upload-url radius" readonly><a href="javascript:void();" class="btn btn-primary radius"><i class="Hui-iconfont"></i>浏览文件</a>  
            <input type="file" name="examfile" class="input-file" multiple>                 
        </div>      
        <boutton type="submit" class="btn btn-success btn-submit">导入试题</button>  
        </div>      
    </form>
登录后复制

控制器(在tp5中获取上传文件的文件名称与tp3略有不同):

public function upQuestionsWrite()  
    {  
        // 获取表单上传文件  
        $file = request()->file(&#39;examfile&#39;);  
        if(empty($file)) {  
            $this->error(&#39;请选择上传文件&#39;);  
        }  
        // 移动到框架应用根目录/public/uploads/ 目录下  
        $info = $file->move(ROOT_PATH.&#39;public&#39;.DS.&#39;upload&#39;); 
        //如果不清楚文件上传的具体键名,可以直接打印$info来查看  
        //获取文件(文件名),$info->getFilename()  ***********不同之处,笔记笔记哦
        //获取文件(日期/文件名),$info->getSaveName()  **********不同之处,笔记笔记哦
        $filename = $info->getSaveName();  //在测试的时候也可以直接打印文件名称来查看 
        if($filename){              
            $this->success(&#39;文件上传成功!&#39;);  
        }else{  
            // 上传失败获取错误信息  
            $this->error($file->getError());  
        }  
    }     
            // 上传失败获取错误信息    
            $this->error($file->getError());    
        }    
    }
登录后复制

推荐学习:TP5

以上是tp之文件上传的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:cnblogs.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板