图片上传封装

图片上传封装

<?php

/**
 * 上传图片
 * 
 */

class ImageFile
{
    public static function uploadImageFile($savePath, $key = 'files', $allowExt = [], $maxSizeM = 10)
    {
        $return = ['ret' => 0, 'msg' => 'success'];
        try {
            if (!$savePath) {
                $return['ret'] = 1;
                $return['msg'] = 'The file save path is empty';
                return $return;
            }
            if (empty($_FILES[$key]['name'])) {
                $return['ret'] = 1;
                $return['msg'] = 'file not exist';
                return $return;
            }
            $fileErrors = $_FILES[$key]['error'];
            foreach ((array)$fileErrors as $fileError) {
                if ($fileError != 0) {
                    $return['ret'] = 1;
                    $return['msg'] = 'file upload error';
                    return $return;
                }
            }
            $fileSize = $_FILES[$key]['size'];
            if ($fileSize / 1024 / 1024 > $maxSizeM) {
                $return['ret'] = 1;
                $return['msg'] = 'file size too large';
            }

            $fileName = $_FILES[$key]['name'];
            $filePath = $_FILES[$key]['tmp_name'];
            $fileExt = pathinfo($fileName)['extension'];
            if (!in_array($fileExt, $allowExt)) {
                throw new Exception('File format only supports: ' . implode('、', $allowExt));
            }
            $fileName = pathinfo($fileName)['filename'];
            $object = __PUBLIC__ . $savePath . '/' . $fileName . '.' . $fileExt;
            //自己处理业务逻辑
      ;
            $return['data'] = ["imageUrl"=>$data];
            return $return;
        } catch (\Exception $e) {
            $return['ret'] = 1;
            $return['msg'] = $e->getMessage();
            return $return;
        }
    }
}

调用

    /**
     * 图片上传
     */
    public function uploadImage()
    {
        $savePath = "/dev/data/dahai/hpay_image";
        $res = ImageFile::uploadImageFile($savePath,'file',['png'], 2);
        return $this->returnJson($res);
    }

直接上传图片资源就行了

Guess you like

Origin blog.csdn.net/qq_27229113/article/details/115003061