Provides an easier way to upload images with configurations

1.4.0 2020-12-03 16:47 UTC

This package is auto-updated.

Last update: 2021-01-03 17:05:08 UTC


Latest Stable Version Build Status StyleCI License Total Downloads

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);

Without Laravel:

$manager = new Manager(array);

Catch errors/exceptions:

try {
    $manager = new Manager(array);
} 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

Manage method's callback

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.