/*** 上传文件(不能使用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 的地址框可编辑
- 关于在struts2中怎么将.action加入到web.xml中的<welcome-file-list>上 急
- 关于<welcome-file-list>的疑问。初学者郁闷哦
- Response.AddHeader("Content-Disposition" "attachment; filename=" + file.Name+"xls");中文显示乱码解决方法
- midlet.platformRequest("file:///.");打开本土Flash文件
- <input type="file" name="filename">该如何处理
- <input type="file" name="filename">解决方法
- 为何多了一个输出,结果就不一样了呢?(File)解决办法
- struts <html:file> 怎么让前面的框消失,先谢过了
- /*Begin Snippet:file*/。刚接触java,这句在类前面,是啥什么意思呢?多谢您了
- return name.endsWith有用 return file.isDirectory没用 咋回事
- 请问 java.io.File 中创建目录
- 资源文件(Resource File)和数据库(Database)哪个美
- 资源文件(Resource File)和数据库(Database)哪个好?该如何解决
- tabao File System 这个文件系统,有用过的友人吗
- input type="file" 下传文件有关问题
- asp.net 2.0 input file 控件没法获取文件的路径
- input file 多个与此同时使用,怎样区分
- Exception Details: System.IO.FileLoadException: Could not load file or assembly 'FreeTextBox' or one of its dependencies. 磁盘空间不足,该如何解决
- Parser Error Message: The file '/MasterPage.master' does not exist.解决办法
- 向高手:The process cannot access the file 'X:\X.XXX' because it is being used by another process
- 100分,求不用<input type="file"/>上传图片方法,该怎么处理
- 为什么在DW8设计视图下<include file="">后 下面的table都看不见呢,该如何解决
- 用户代码未处理 sqlexception 关键字 'file' 附近有语法异常
- input type=file “maxlength”这个属于最大值到底是多少解决方案
- 兄弟们,你们有没有发现,使用<input type="file"> 无法得到路径?该怎么解决
- 怎么将html格式的Excel转换为二进制格式的Excel,即BIFF格式 (Binary File Format))
- Could not load file or assembly 'Meta.Web' or one of its dependencies. 磁盘空间不足解决思路
- input file 字符串截取解决思路
- 怎么调整点击 <input type=file>浏览按钮后文件选择对话框中可选择文件类型