【PHP工具类】Upload

举报
原来是咔咔 发表于 2022/03/27 02:30:24 2022/03/27
1k+ 0 0
【摘要】 author:咔咔 wechat:fangkangfk 使用案例: https://blog.csdn.net/fangkang7/article/details/85060379 <?php namespace data\util; class Upload{ /** * @var 文件信息thin...

author:咔咔

wechat:fangkangfk

使用案例:

https://blog.csdn.net/fangkang7/article/details/85060379


      <?php
      namespace data\util;
      class Upload
      {
         /**
       * @var 文件信息think\file这个类
       */
         private $file;
         /**
       * @var 上传图片的目录
       */
         private $path;
         /**
       * 上传文件规则
       */
         private $validate =[
             'size' => 500000,
             'ext'  => 'jpg,png,gif,jpeg',
          ];
         /**
       * 文件上传
       *
       * @param file think\File
       * @path 上传的目录 upload\goods
       * @return array
       */
         public function move($file,$path)
          {
             $this->file = $file;
             // 获取上传的文件名
             $fileName = $this->getFileName($path);
             // 文件保存的地址
             $save = $this->getFilePath($path);
             // 判断保存的目录是否存在
             if(!file_exists($save)){
                  mkdir($save,777,true);
              }
             // 文件保存后的名字加类型
             $image = $fileName['saveName'].'.'.$fileName['fileSuffix'];
             // 开始上传 参数一:上传路径 参数二:文件名
             $info = $file->validata($this->validate)->move($save,$image);
             // 获取上传后的文件名
             $this->path = $save.'.'.$image;
             return ($info) ? true : false;
          }
         /**
       * 配置保存路径
       *
       * @return array
       */
         public function getFilePath($path)
          {
             return ROOT.'/'.$path;
          }
         /**
       * 获取上传文件的信息 名字,类型,类型
       *
       * @return array
       */
         public function getFileName()
          {
             // 获取文件信息
             $name = $this->file->getInfo('name');
             // 问件名1.jpg 所以需要转数组获取
             $fileName = explode('.',$name);
             return [
                 // 文件名
                 'formerlyName' => $fileName[0],
                 // 保存后的文件名
                 'saveName' => $fileName[0].time(),
                 // 文件后缀
                 'fileSuffix' => $fileName[1]
              ];
          }
         /**
       * 保存后的文件路径
       *
       * @return array
       */
         public function functionName($flag = true)
          {
             return ($flag) ? $this->path : ROOT.'/'.$this->path;
          }
      }
  
 

文章来源: blog.csdn.net,作者:咔咔-,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/fangkang7/article/details/85072543

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。