2017 © Pedro Peláez
 

library tempkit-fs

Implements a server-side strategy for collection and recovery of PSR-7 UploadedFile objects

image

kodus/tempkit-fs

Implements a server-side strategy for collection and recovery of PSR-7 UploadedFile objects

  • Friday, September 8, 2017
  • by mindplay.dk
  • Repository
  • 5 Watchers
  • 2 Stars
  • 2 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

kodus/tempkit-fs

This package implements a server-side strategy for temporary collection and recovery of PSR-7 UploadedFile objects as files stored in a Flysystem file-system., (*1)

This is a fork of kodus/tempkit which implements the same thing using the regular file-system API in PHP., (*2)

PHP Version, (*3)

You can use this service to implement controllers that collect uploaded files posted asynchronously by a browser and return the temporary file UUIDs, then, on completion, recover the uploaded files and move them to permanent storage., (*4)

The filename and MIME-type (as posted by the client) will be preserved., (*5)

Unrecovered files are automatically flushed after a defined expiration period., (*6)

Usage

Bootstrap the service using an existing Flysystem FilesystemInterface instance:, (*7)

$service = new TempFileService($filesystem, __DIR__ . '/temp');

In your asynchronous file post-controller, collect posted files and return UUIDs:, (*8)

$uuids = [];

foreach ($request->getUploadedFiles() as $file) {
    $uuids[] = $service->collect($file);
}

echo json_encode($uuids);

In your form post-controller, recover the collected files:, (*9)

foreach ($uuids as $uuid) {
    $file = $service->recover($uuid);

    // get information about recovered file:

    $filename = $file->getClientFilename();
    $media_type = $file->getClientMediaType();

    // move recovered file into permanent storage:

    $file->moveTo(__DIR__ . '/files/' . $file->getClientFilename());
}

Note that, if you don't flush the temporary file, it will of course be garbage-collected after the defined expiration period., (*10)

Also, if you manually rename or move the temporary file, the JSON meta-data file will be collected and flushed for you immediately when the TempFile instance is destroyed., (*11)

Refer to TempFileService for inline documentation.

The Versions

08/09 2017

dev-master

9999999-dev

Implements a server-side strategy for collection and recovery of PSR-7 UploadedFile objects

  Sources   Download

MIT

The Requires

 

The Development Requires