PHPackages                             chenshuai1993/sci-uploader - 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. chenshuai1993/sci-uploader

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

chenshuai1993/sci-uploader
==========================

文件上传工具: 上传、分片上传、秒传、断点续传等

0.0.6(2y ago)17MITPHP

Since Jan 11Pushed 2y ago1 watchersCompare

[ Source](https://github.com/chenshuai1993/sci-uploader)[ Packagist](https://packagist.org/packages/chenshuai1993/sci-uploader)[ RSS](/packages/chenshuai1993-sci-uploader/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)Dependencies (2)Versions (9)Used By (0)

文件上传工具类
-------

[](#文件上传工具类)

sci-uploader
============

[](#sci-uploader)

🌈文件上传组件。

[![StyleCI build status](https://camo.githubusercontent.com/d3c6b2f63895861d952d636db942763dae401def3ad62eb4166b6c25ac53a2c7/68747470733a2f2f6769746875622e7374796c6563692e696f2f7265706f732f3734323033303132322f736869656c64)](https://camo.githubusercontent.com/d3c6b2f63895861d952d636db942763dae401def3ad62eb4166b6c25ac53a2c7/68747470733a2f2f6769746875622e7374796c6563692e696f2f7265706f732f3734323033303132322f736869656c64)

### 介绍

[](#介绍)

1. 支持文件分片上传
2. 支持服务器文件存储；通过实现FileStorage接口，可自定义文件存储方式
3. 支持文件秒传、分片断点续传

### 安装

[](#安装)

```
composer require chenshuai1993/sci-uploader -vvv
```

### 使用

[](#使用)

```
curl --location 'http://localhost:63342/codes/SciUploaderTest/index.php?_ijt=ghfnji28vsoaqf1n3h5375b173&_ij_reload=RELOAD_ON_SAVE' \
--header 'Cookie: Phpstorm-882e4b99=9270011a-ce9c-46c9-ad5e-aaf5038df465' \
--form 'file=@"/Users/cs/Documents/chenshuai/sci/codes/SciUploaderTest/chunks/chunk_1"' \
--form 'file_name="tank99a.mp4"' \
--form 'file_hash="test"' \
--form 'part_number="2"' \
--form 'part_total="2"'
```

[![img.png](img.png)](img.png)

```
use Chenshuai1993\SciUploader\FileStorage;
use Chenshuai1993\SciUploader\MultiPartUpload;

//前端表单字段使用 file
$fileName = $_POST['file_name']; //文件名称
$fileHash = $_POST['file_hash']; //文件哈希值
$partNumber = $_POST['part_number']; //分片号
$partTotal = $_POST['part_total'];  //分片总数

$uploadDir ='./upload';  //文件上传路径
$storageDir ='./storage'; //文件存储路径
$uploader = new MultiPartUpload(new FileStorage($uploadDir, $storageDir));
try {
    //文件切片上传
    $uploader->uploadPart($fileName, $fileHash, $partNumber);
    $count = $uploader->countParts($fileName, $fileHash);
    if ($count == $partTotal){
        $uploader->mergePartsToFile($fileName, $fileHash, $partTotal);
        $uploader->completeMultipartUpload(function (){
            //这里有个闭包函数、执行完成后的操作
            echo '所有的切片都执行完了';
        });
    }

    ##其他
    //秒传验证文件是否已上传
    $resp = $uploader->getFileByHash($fileHash);
    //Array ( [file] => ./upload/test/tank99a.mp4 ) || Array ( )

    //删除上传文件
    $resp = $uploader->deleteFileByHash($fileHash);
    //true || false
} catch (Exception $e) {
    print_r($e->getCode());
    print_r($e->getMessage());die;
}
```

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 Bus Factor1

Top contributor holds 50% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~12 days

Total

6

Last Release

786d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f6636281300d273ef3239fae6c2a8cd30f27578b0531d53bc2b30d13701746b5?d=identicon)[chenshuai1993](/maintainers/chenshuai1993)

---

Top Contributors

[![chenshuai1993](https://avatars.githubusercontent.com/u/10721148?v=4)](https://github.com/chenshuai1993 "chenshuai1993 (2 commits)")[![StyleCIBot](https://avatars.githubusercontent.com/u/11048387?v=4)](https://github.com/StyleCIBot "StyleCIBot (2 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/chenshuai1993-sci-uploader/health.svg)

```
[![Health](https://phpackages.com/badges/chenshuai1993-sci-uploader/health.svg)](https://phpackages.com/packages/chenshuai1993-sci-uploader)
```

###  Alternatives

[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[google/cloud-storage

Cloud Storage Client for PHP

34390.8M123](/packages/google-cloud-storage)[illuminate/filesystem

The Illuminate Filesystem package.

15261.6M2.6k](/packages/illuminate-filesystem)[superbalist/flysystem-google-storage

Flysystem adapter for Google Cloud Storage

26320.6M30](/packages/superbalist-flysystem-google-storage)[creocoder/yii2-flysystem

The flysystem extension for the Yii framework

2931.7M61](/packages/creocoder-yii2-flysystem)[flowjs/flow-php-server

PHP library for handling chunk uploads. Works with flow.js html5 file uploads.

2451.6M15](/packages/flowjs-flow-php-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
