周大胖子 发表于 2018-9-26 23:27:28

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





周大胖子 发表于 2018-9-26 23:28:50

二:上传文件验证

$rules = [
                'ext'   =>'jpg,png,gif'   //上传格式限制
                ,'size' =>1024*1024*2    //上传大小限制 这是 2MB
            ];
            $info = $file->validate($rules)->move(ROOT_PATH.'public'.DS.'uploads'.DS.'images');这里需要知道一个点:验证不通过 返回 false , 验证通过 则返回对象;

周大胖子 发表于 2018-9-26 23:31:11

三:获取上传文件的信息
$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散列值
                  
                ];

周大胖子 发表于 2018-9-26 23:42:22

了解上传文件可配置的命名规则:
date根据日期和微秒数生成md5对文件使用md5_file散列生成sha1对文件使用sha1_file散列生成使用方法:$file->rule()传递规则参数            $info = $file->validate($rules)->rule('sha1')->move(ROOT_PATH.'public'.DS.'uploads'.DS.'images');


页: [1]
查看完整版本: TP5 文件上传 小计