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的上传
但行好事,莫问前程!
本文来自博客园,作者:yangphp,转载请注明原文链接:https://www.cnblogs.com/ypeih/p/15508362.html