Basic php library to manage uploaded files
Created by Oscar Otero http://oscarotero.com oom@oscarotero.com
//Init a Uploader instance:
$uploader = new Uploader\Uploader('/base/path/to/uploads');
//Save an uploaded file:
$file = $uploader($_FILES['my-file']);
//Save a psr7 UploadedFileInterface instance
$file = $uploader($uploadedFile);
//Save a file from an url
$file = $uploader('http://example.com/files/file1.jpg');
//Save from base64 value
$file = $uploader('data:image/png;base64,...');
//Init a Uploader instance:
$uploader = new Uploader\Uploader('/base/path/to/uploads');
//Add some configuration
$uploader
->setPrefix(function () {
return uniqid();
})
->setDirectory('images');
//Assign an input
$imageUpload = $uploader->with($_FILES['my-image']);
//Save
$imageUpload->save();
//Get the relative path
echo $imageUpload->getDestination();
The following methods configure how the uploaded file will be saved
Setter | Getter | Description |
---|---|---|
`setPrefix(string | Closure)` | getPrefix() |
`setOverwrite(boolean | Closure)` | getOverwrite() |
`setDestination(boolean | Closure)` | getDestination(bool $absolute = false) |
`setDirectory(string | Closure)` | getDirectory() |
`setFilename(string | Closure)` | getFilename() |
`setExtension(string | Closure)` | getExtension() |
`setCwd(string | Closure)` | getCwd() |
`setCreateDir(boolean | Closure)` | getCreateDir() |
Example:
$uploader = new Uploader\Uploader(__DIR__.'/my-uploads');
$upload = $uploader
->with($_FILES['my-file'])
->setPrefix(uniqid())
->setOverwrite(true)
->setCreateDir(true)
->setDirectory('files')
->setExtension(function ($upload) {
return strtolower($upload->getExtension());
});
try {
$upload->save();
echo 'The file has been saved in '.$upload->getDestination();
} catch (Exception $e) {
echo $e->getMessage();
}