File Upload
Introduction
The Receiver
class in Sukarix is designed to handle file uploads efficiently. It provides methods for saving uploaded
files and preparing upload directories, ensuring that your application can manage file uploads seamlessly.
Configuration
To use the Receiver
class, you need to configure it in the classes.ini
file:
receiver = \Helpers\Receiver
Methods
saveUploadedFile
This method saves the uploaded file to the specified destination. It checks the environment to decide whether to
use rename
or move_uploaded_file
for saving the file.
prepareUploadDirectory
This method prepares the upload directory by creating it if it does not exist. It throws a RuntimeException
if the
directory cannot be created.
Example Usage
To use the Receiver
class for handling file uploads, you can get an instance from the Injector
and use
the \Web::instance()->receive
method to process the uploaded files.
/**
* @var Receiver $receiver
*/
$receiver = Injector::instance()->get('receiver');
\Web::instance()->receive(static function(&$file, &$formFieldName) use (&$action, &$receiver) {
if (0 === $file['size']) {
return false;
}
$uploadDirectory = 'path/to/upload/directory';
$receiver->prepareUploadDirectory($uploadDirectory);
$destination = $uploadDirectory . '/' . $file['name'];
return $receiver->saveUploadedFile($file, $destination);
});
The Receiver
class ensures that file uploads are handled efficiently and securely, with proper directory preparation
and file movement based on the environment. This setup allows for easy management of uploaded files in your Sukarix
application.