1. Go to this page and download the library: Download wester/chunk-upload library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
wester / chunk-upload example snippets
// You don't need this line in laravel or some other frameworks.
\Exceptions\ValidationException;
try {
$chunk = new Chunk([
'name' => 'video', // same as $_FILES['video']
'chunk_size' => 4000, // must be equal to the value specified on the client side
// Driver
'driver' => 'local', // [local, ftp]
// Local driver details
'local_driver' => [
'path' => __DIR__ . '/uploads/', // where to upload the final file
'tmp_path' => __DIR__ . '/uploads/temp/', // where to store the temp chunks
],
// FTP driver details
'ftp_driver' => [
'server' => '',
'username' => '',
'password' => '',
'path' => '/uploads/', // where to upload the final file
'tmp_path' => '/uploads/temp/', // where to store the temp chunks
],
// File details
'file_name' => Chunk::RANDOM_FILE_NAME,
'file_extension' => Chunk::ORIGINAL_FILE_EXTENSION,
// File validation
'validation' => ['extension:mp4,avi'],
]);
$chunk->validate()->store();
if ($chunk->isLast()) {
// done
$chunk->getFilePath();
} else {
$chunk->response()->json([
'progress' => $chunk->getProgress()
]);
}
} catch (ValidationException $e) {
$e->response(422)->json([
'message' => $e->getMessage(),
'data' => $e->getErrors(),
]);
} catch (\Exception $e) {
$e->response(400)->abort();
}
namespace My\Custom\Drivers;
class DriverName implements \Wester\ChunkUpload\Drivers\Contracts\DriverInterface
{
public function open() {};
public function close() {};
public function store($fileName) {};
public function delete() {};
public function move() {};
public function increase() {};
public function prevExists() {};
public function exists() {};
}
$chunk->response(200)->json([...]);
$chunk->response()->json([...]);
// If an exception is caught...
$e->response(400)->...
$e->response(400)->abort();
$e->response()->abort(400);
...
$chunk->configs['name'];
...
$chunk->header->chunkNumber;
$chunk->header->chunkTotalNumber;
$chunk->header->chunkSize; // equal to: x-chunk-size
$chunk->header->fileName;
$chunk->header->fileSize;
$chunk->header->fileIdentity;
'validation' => ['extension:mp4,avi']
'validation' => ['size:237492']
'validation' => ['min:10000']
'validation' => ['max:90000']
$chunk->setLanguage([
'min' => [
'numeric' => 'The :attribute must be at least :min.',
'file' => 'The :attribute must be at least :min kilobytes.',
],
'max' => [
'numeric' => 'The :attribute may not be greater than :max.',
'file' => 'The :attribute may not be greater than :max kilobytes.',
],
'size' => [
'numeric' => 'The :attribute must be :size.',
'file' => 'The :attribute must be :size kilobytes.',
],
'mimes' => 'The :attribute must be a file of type: :values.',
'attributes' => [
'x-file-name' => 'file',
'x-file-size' => 'file',
],
]);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.