/*** 上传文件(不能使用ThinkPHP提供的文件上传类,过滤了通过formdata上传的文件)** @param $file*/public function uploadFile($fileinfo){// 获取文件上传配置$cfg = config('upload_options');$fileName = $fileinfo['name'];// 判断文件后缀名$fileExt = pathinfo($fileName, PATHINFO_EXTENSION);if (!in_array($fileExt, $cfg['allow_type'])) {return ['status' => false, 'message' => '不允许该类型的文件'];}// 判断文件大小if ($fileinfo['size'] > $cfg['max_size']) {return ['status' => false, 'message' => '文件过大'];}// 判断是否是通过http请求上传的文件if (is_uploaded_file($fileName)) {return ['status' => false, 'message' => '非法上传'];}// 按天生成文件夹, 生成随机文件名$cfgPath = trim($cfg['save_path'], '/').'/'.date('Ymd');$savePath = rtrim(str_replace('\\', '/', ROOT_PATH), '/').'/public/'.$cfgPath;if (!file_exists($savePath)) {mkdir($savePath, 0777);}// 上传文件$fileName = md5(time().mt_rand(0, 9999)).'.'.$fileExt;if (move_uploaded_file($fileinfo['tmp_name'], $savePath.'/'.$fileName)) {return ['status' => true, 'message' => '上传成功', 'path' => $cfgPath.'/'.$fileName];} else {return ['status' => false, 'message' => '上传失败'];}}
详细解决方案
todo-php-file-upload
热度:95 发布时间:2023-12-16 18:25:31.0
相关解决方案
- IE8怎么让input file 的地址框可编辑
- File "/head.jsp" not found解决方法
- tomcat报错: File "/js_list.jsp" not found,该怎么解决
- 关于在struts2中怎么将.action加入到web.xml中的<welcome-file-list>上 急
- List items = upload.parseRequest(request);替空kindeditor SpringMvc
- 关于<welcome-file-list>的疑问。初学者郁闷哦
- Response.AddHeader("Content-Disposition" "attachment; filename=" + file.Name+"xls");中文显示乱码解决方法
- jsp重命名上传的文件提示文件无法保存(File can't be saved (1120).)解决思路
- welcome-file 404的有关问题
- 文件抛java.io.IOException: at com.sun.midp.io.j2me.file.Protocol.delete错误
- midlet.platformRequest("file:///.");打开本土Flash文件
- 關于new File(URI)路徑無法找到,该如何处理
- java io操作,file stream变换
- <input type="file" name="filename">该如何处理
- java.io.eoefException bad file number串口收发错误
- <input type="file" name="filename">解决方法
- 为何多了一个输出,结果就不一样了呢?(File)解决办法
- struts <html:file> 怎么让前面的框消失,先谢过了
- 简单有关问题。file 用哪个import定义
- The public type MyPanel must be defined in its own file,该如何处理
- /*Begin Snippet:file*/。刚接触java,这句在类前面,是啥什么意思呢?多谢您了
- return name.endsWith有用 return file.isDirectory没用 咋回事
- () PrintStream(File file)的疑惑
- 请问 java.io.File 中创建目录
- 资源文件(Resource File)和数据库(Database)哪个美
- 资源文件(Resource File)和数据库(Database)哪个好?该如何解决
- FCIAddFile(failed: code 一 [Failure opening file to be stored in cabinet]
- FCIAddFile(failed: code 1 [Failure opening file to be stored in cabinet],该怎么解决
- !一个很弱的有关问题:VS2010 cannot find or open the PDB file
- ora-08102:index key not found,obj#57848,file 六, block 6324(2)