TP5 文件上传 小计
一:接收上传文件,并存放到指定位置: 1. 引入 Request 的类 ;2.接收
$file = $request->file('file'); 3.存放到指定位置(注意 会在配置后的文件夹下自动创建日期文件夹)【注意:ROOT_PATH 代表的是public上一级目录,跟域名配置没关系】
$info = $file->validate($rules)->move(ROOT_PATH.'public'.DS.'uploads'.DS.'images');(其实这句代码 我已经加了验证,验证规则是 $rules)
参考文献:https://www.jianshu.com/p/5cd73628da9d
参考文献2:https://www.jianshu.com/p/b1622b424886
参考文献3:https://www.kancloud.cn/gogery/wanzhuantp5/359696
二:上传文件验证
$rules = [
'ext' =>'jpg,png,gif' //上传格式限制
,'size' =>1024*1024*2 //上传大小限制 这是 2MB
];
$info = $file->validate($rules)->move(ROOT_PATH.'public'.DS.'uploads'.DS.'images');这里需要知道一个点:验证不通过 返回 false , 验证通过 则返回对象;
三:获取上传文件的信息
$data = [
'ext' => $info->getExtension() , //文件名后缀
'savename' => $info->getSaveName(), /// 输出文件的位置以及文件名。系统会自动创件以时间为名的文件夹,然后输出文件夹的名字和图片的名字。
'filename'=> $info->getFilename(), // 输出文件名【和上一个比 少了一层目录】
'info' => $info->getInfo(), // 获取文件上传前的信息 这是一个数组 包含上传原名称
'mime' => $info->getMime(), // 获取文件的mime 信息 就是图片类型
'md5' => $info->md5(), // 获取md5 散列值
'sha1' => $info->sha1(),// 获取文件sha1散列值
];
了解上传文件可配置的命名规则:
date根据日期和微秒数生成md5对文件使用md5_file散列生成sha1对文件使用sha1_file散列生成使用方法:$file->rule()传递规则参数 $info = $file->validate($rules)->rule('sha1')->move(ROOT_PATH.'public'.DS.'uploads'.DS.'images');
页:
[1]