Skip to content

Php implementation of the file chunked upload for the angular directive ng-file-upload

License

Notifications You must be signed in to change notification settings

hgouveia/ng-upload-chunked

Repository files navigation

Ng Upload Chunked

Packagist Version Build Status HHVM Build Status Windows Build Status

Php implementation of the file chunked upload for the angular directive ng-file-upload

Note: it could work for any html5 uploader with chunked upload if NgFileChunk is constructed properly

Install

Clone or download this repo, see the example

With Composer

$ composer require hgouveia/ng-upload-chunked

Example of Usage

API doc

Check complete usage in the example folder

<?php
// In your POST handler
/*
 $defaultConfig = [
        "ext" => ".part",
        "fileInputName" => "file",
        "directoryPermission" => 0755,
        "readChunkSize" => 1048576, // 1MB
        "uploadDirectory" => "",
        "tempDirectory" => "",
    ];
*/
$nguc = new \NGUC\NgUploadChunked(); //optional $config param

try {
    // Contains the information of the current chunk
    $chunk = new \NGUC\NgFileChunk(
        $_POST['_uniqueId'],
        $_FILES['file']['name'],
        $_POST['_chunkSize'],
        $_POST['_currentChunkSize'],
        $_POST['_chunkNumber'],
        $_POST['_totalSize'],
    );
    
    // this could be used instead, if ng-file-upload is beign used
    //$chunk = new \NGUC\NgFileChunk();
    //$chunk->populate($_POST['_uniqueId'], $_FILES['file']['name']);

    $nguc->process($chunk);

    // response the path when finished
    if ($nguc->isFinished()) {
        echo $nguc->getUploadPath();
    }

} catch (\NGUC\NGUCException $e) {
    echo "ERROR: " . $e->getCode() . " - " . $e->getMessage();
}

Test

$ ./vendor/bin/peridot test

or if npm is available

$ npm test

License

Read License for more licensing information.

Contributing

Read here for more information.

About

Php implementation of the file chunked upload for the angular directive ng-file-upload

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published