A library that provides an easy way to upload files to the server simply by using configurations.
Install via composer into your project:
composer require anekdotes/manager
Use the class where ever you need it:
use Anekdotes\Manager\Manager;
See configuration section below for more information
With Laravel:
$manager = new Manager(array);
$manager->manage(Input::file('nameOfInput'));
Without Laravel:
$manager = new Manager(array);
$manager->manage($_FILES['nameOfInput']);
Catch errors/exceptions:
try {
$manager = new Manager(array);
$manager->manage($_FILES['nameOfInput']);
} catch (\Exception $e) {
//do something
}
You can pass a config array to the Manager's constructor.
new Manager(array());
Available properties:
prefix : type string. Path's prefix to upload file (default: /public
)
'prefix' => '/public',
path : type string. Path to upload file (default: /uploads
)
'path' => 'uploads/',
exts : type array. Array of all supported file extensions (default: jpg, jpeg, png
)
'exts' => array('jpeg', 'jpg', 'png),
weight : type integer. Maximum file size in bytes (default: 3 mbs
)
'weight' => 3000000,
size : type array. Array containing as many sizes as needed (default: null
)
'size' => array(
),
Put together:
$manager = new Manager(array(
'prefix' => '/public',
'path' => 'uploads/',
'exts' => array('jpeg', 'jpg', 'png),
'weight' => 3000000
));
You may pass a closure to the manage method to execute special code before uploading file such as creating an entry in the database or simply changing name.
$manager->manage($_FILES['nameOfInput'], function($fi){
//do something fancy
return "potato.jpg";
});
With the above example and default configurations, the new file will be located at /public/uploads as potato.jpg.