php lib for use fine-uploader js as client and upload big files with separate to chunks files. This libarary is base on chunks-uploader.
composer require mehrdad-dadkhah/php-fine-uploader
use MehrdadDadkhah\Video\FineUploader;
$uploaderService = new FineUploader();
$uploadResult = $uploaderService->setConfigs(
'form-input-name',
'path-to-chunks-folder'
)
->setUniqueIdentifier('unique-identifier')
->setDomain('http://example.com') //to set cors header
->checkDublicateFile(function($uuid) { //closure function to check file is duplicate or not it should get $uuid as input and return boolean. uuid is a video unique hash
return false;
})
->upload('path-to-upload-directory');
If want to set output file name try use setUploadName() function before fire finishUpload() function:
$uploadHandeler->setUploadName('my-name.mp4');
If don't set name your file name be with structur YYYY_m_d_hashname.mp4 and in final resutl generated name will be return.
If want to script make output directory automatically just set it:
$uploadHandeler->checkAndGenerateOutputDirectory();
If want to generate file in a temp directory and then move to main upload directory you can use setTempDirectory() function:
$uploadHandeler->setTempDirectory('path-to-temp');
ChunksUploader calculate uploaded file size (sum of chunks) and compare with upload_max_filesize ini config. If want to stop bigger file at first request for better ux can pass total main file size in bytes:
$uploadHandeler->setVideoTotalSize(213456);
And can overwrite upload_max_filesize by:
$uploadHandeler->setMaxUploadSize(213456);
hls-video-generater is licensed under the GPLv3 License.