PHPackages                             yuanhang/easy-upload - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. yuanhang/easy-upload

ActiveLibrary[File &amp; Storage](/categories/file-storage)

yuanhang/easy-upload
====================

Integrate Qiniu and Ali OSS,Compatible with ThinkPhp 5,5.1,6 Laravel

v2.0.8(3y ago)3232Apache-2.0PHPPHP &gt;=7.4

Since Jun 23Pushed 3y ago1 watchersCompare

[ Source](https://github.com/voyager-hang/easyUpload)[ Packagist](https://packagist.org/packages/yuanhang/easy-upload)[ RSS](/packages/yuanhang-easy-upload/feed)WikiDiscussions main Synced 5d ago

READMEChangelogDependencies (2)Versions (28)Used By (0)

GitHub:[整合阿里云Oss，七牛云上传，兼容Thinkphp5.1](https://github.com/voyager-hang/easyUpload)

- 文件大小验证
- 文件Mime类型验证
- 文件后缀名验证
- 批量删除
- 批量上传
- 临时目录
- 临时目录替换
- 获取可访问地址

> V1.\*.\*版本 运行环境要求PHP5.6+，七牛sdk7.3+，ossSdk2.3+。
>
> V2+版本 运行环境要求PHP7.4+，七牛sdk7.3+，ossSdk2.3+。

> 安装

使用composer安装

```
composer require yuanhang/easy-upload
```

> 使用

设置配置

```
\EasyUpload\EasyUpload::setConfig(array $config);
\EasyUpload\EasyUpload::Instance();

Thinkphp5.1可在配置目录建EasyUpload.php

其他框架也可以自定义配置文件
使用 ：\EasyUpload\EasyUpload::getConfigPath(); 获取配置文件位置
然后根据位置新建文件即可
示例文件：/src/example/Config.php
```

> 获取实例

```
$upload = \EasyUpload\EasyUpload::Instance();
```

> 上传图片

```
$res = $upload->imgUpload('form_name');
```

> 上传文件

```
$res = $upload->fileUpload('form_name');
```

> 获取可访问地址

```
$upload->httpPath('/uploads/images/a.png');
$upload->httpPath('http://www.a.com/uploads/a.png');
```

> 把文件从临时目录移动到正式目录 (文件地址,是否图片,是否绝对路径)

```
$upload->moveTmpToPath('http://www.d.com/temp/a.png', true, false);
$upload->httpPath('/temp/a.png',true,true);
```

> 删除文件

```
$upload->del('http://www.d.com/temp/a.png');
$upload->del('/temp/a.png');
$upload->del(['/temp/a.png','http://www.d.com/temp/a.png']);
```

返回值
===

[](#返回值)

> 单文件上传成功

```
 {
    "status": true,
    "success": "/temp/20210622/a.gif",
    "error": ""
 }
```

> 单文件上传失败

```
 {
    "status": false,
    "success": "",
    "error": "上传文件超过允许的最大值!"
 }
```

> 多文件上传成功

```
 {
    "status": true,
    "success": ["/temp/20210622/a.gif", "/temp/20210622/b.png"],
    "error": []
 }
```

> 多文件上传失败

```
 {
    "status": false,
    "success": [],
    "error": ["上传文件超过允许的最大值!", "上传文件超过允许的最大值!"]
 }
```

其他方法均以抛出异常方式返回
--------------

[](#其他方法均以抛出异常方式返回)

目录结构
----

[](#目录结构)

```
src                      项目根目录
├─config                 默认配置目录
│  ├─Config.php          默认配置文件
│
├─example                示例目录
│  ├─Config.php          配置示例文件
│  ├─Upload.php          使用示例文件
│
├─file                   文件对象目录
│  ├─File.php            文件类
│
├─interfaces             接口目录
│  ├─Upload.php          上传接口
│
├─library                上传类目录
│  ├─BaseUpload.php      上传基类
│  ├─OssUpload.php       阿里云oss上传类
│  ├─QiNiuUpload.php     七牛云上传类
│  ├─SysUpload.php       系统上传类
│
├─service                第三方服务整合类
│  ├─AliOssService.php   阿里云Oss上传封装
│  ├─QnService.php       七牛云上传封装
│
├─tool                   工具类目录
│  ├─Util.php            基础工具类
│
├─EasyUpload.php         项目入口工厂类 工厂模式获取实例
│
```

配置文件示例
------

[](#配置文件示例)

```
