UploadFile.php 1.5 KB
<?php

namespace Lib;

/**
 * 文件
 * @author:dc
 * @time 2023/3/13 14:34
 * Class UploadFile
 * @package Lib
 */
class UploadFile
{
    /**
     * @var string
     */
    public string $name;

    /**
     * @var string
     */
    public string $tempFile;

    /**
     * @var int
     */
    public int $size;

    /**
     * @var string
     */
    public string $mime;

    /**
     * @var string
     */
    public string $ext;

    /**
     * @var string
     */
    public string $saveName = '';

    public string $savePath = '';

    /**
     * UploadFile constructor.
     * @param $name
     * @param $tempFile
     */
    public function __construct(string $name, string $tempFile)
    {

        $this->name = $name;

        $this->tempFile = $tempFile;

        // kb
        $this->size = (int) (filesize($this->tempFile)/1024);
        // 文件类型
        $this->mime = mime_content_type($this->tempFile);

        $ext = explode('.',$name);
        $this->ext = end($ext);

        $this->savePath = PUBLIC_PATH.'/storage/';

    }


    /**
     * @param null $name
     * @return bool
     * @author:dc
     * @time 2023/4/6 13:58
     */
    public function move($name = null){

        if(!is_dir($this->savePath)){
            @mkdir($this->savePath,0775,true);
        }

        // 保存的文件
        $this->saveName =   $name ? $name : md5_file($this->tempFile).'.'.$this->ext;

        return move_uploaded_file($this->tempFile,$this->savePath.$this->saveName);

    }



}