PHPackages                             aldozumaran/uploader - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. aldozumaran/uploader

AbandonedArchivedLibrary[File &amp; Storage](/categories/file-storage)

aldozumaran/uploader
====================

Laravel Uploader

1.0.0(10y ago)047PHP

Since Jun 16Pushed 10y ago1 watchersCompare

[ Source](https://github.com/aldozumaran/uploader)[ Packagist](https://packagist.org/packages/aldozumaran/uploader)[ RSS](/packages/aldozumaran-uploader/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

Uploader
========

[](#uploader)

\##File storage for easer manipulation with validation.

Images can be uploaded with different resolutions.

```
    THUMB,MEDIUM,XLARGE,ORIGINAL

```

and add many others.

\#Setup Add the package to the require section of your composer.json and run composer update

```
"aldozumaran/uploader": "dev-master"

```

Then add the Service Provider to the providers array in config/app.php:

```
AldoZumaran\Uploader\UploaderServiceProvider::class,

```

Then add the Facades to the aliases array in config/app.php:

```
'Uploader' => AldoZumaran\Uploader\Facades\Uploader::class,

```

And run

```
php artisan vendor:publish

```

\#Config the Uploader

```
return [
    'sizes' => [
        'thumb' => [
            'width' => 150, //MAX WIDTH
            'height' => 150, //MAX HEIGHT
        ],
        'medium' => [
            'width' => 600,
            'height' => 450
        ],
        ...
    ],
    'valid' => [
        'files' => ['pdf','doc','docx','odt', 'jpg', 'png', 'jpeg'],
        'images' => ['jpg','jpeg','png']
    ],
    'upload_dir' => 'uploads',
    'files_dir' => 'files',
    'images_dir' => 'images',
    'range' => 1000,
];
```

\##SIZES (ONLY IMAGES) if width/height are lower than original width/height then resize "images"

\##VALID Valid extensions for "files/images", you can consider images as file and will not be resized.

\##UPLOAD\_DIR Upload Directory, default "uploads", Uploader creates a directory inside public.

\##FILES\_DIR, IMAGES\_DIR File and image directories. Only for images Uploader creates sizes directories,

```
    public/uploads/images/thumb
    public/uploads/images/medium
    ...
    public/uploads/images/original - default

```

\##RANGE Every "range" files Uploader creates new subdirectory

```
    public/uploads/images/thumb/[CUSTOM_NAME]/0
    public/uploads/images/thumb/[CUSTOM_NAME]/1000
    public/uploads/images/thumb/[CUSTOM_NAME]/2000
    ...
    public/uploads/images/medium/[CUSTOM_NAME]/0
    public/uploads/images/medium/[CUSTOM_NAME]/1000
    public/uploads/images/medium/[CUSTOM_NAME]/2000
    ...

    public/uploads/files/[CUSTOM_NAME]/0
    public/uploads/files/[CUSTOM_NAME]/1000
    public/uploads/files/[CUSTOM_NAME]/2000
    ...

```

Usage
=====

[](#usage)

Save File
---------

[](#save-file)

```
    **
     * @param $input_name
     * @param $dir_name
     * @param int $id // Primary ID
     * @param bool $isFile // File or Image
     * @param array $valid // Override valid extensions in config/uploader.php,
     * @return bool|string

    Uploader::save(); return filename or false

     $id can be a primary ID table "curriculums"
     if new record pass \DB::table('curriculums')->count();

     */

Route::post('curriculum', .function(){

    //Form Input :
    /* Upload mycv.pdf */
    $id = \DB::table('curriculums')->count(); // 1540
    $file = Uploader::save("file","curriculum", 1540);
    // File saved in public/uploads/files/curriculum/1000/XXXXX_XXXXXXXXXXXXXXXXX.pdf

    echo $file; // XXXXX_XXXXXXXXXXXXXXXXX.pdf

    /* Upload mycv2.jpg */
    $id = \DB::table('curriculums')->count(); // 1541
    $file = Uploader::save("file","curriculum", 1541);
    // File saved in public/uploads/files/curriculum/1000/XXXXX_XXXXXXXXXXXXXXXXY.jpg

    echo $file; // XXXXX_XXXXXXXXXXXXXXXXY.pdf
});

Route::post('avatar', .function(){

    //Form Input :
    /* Upload myavatar.jpg 1000x300*/
    $id = \DB::table('avatars')->count(); // 39
    $file = Uploader::save("avatar","avatars", 39,false,['jpg']); // upload only jpg files
    // Images saved in
    //public/uploads/images/thumb/avatars/0/XXXXX_XXXXXXXXXXXXXXXXX.jpg // 500x150
    //public/uploads/images/medium/avatars/0/XXXXX_XXXXXXXXXXXXXXXXX.jpg // 1000x300
    //public/uploads/images/original/avatars/0/XXXXX_XXXXXXXXXXXXXXXXX.jpg // 1000x300

    echo $file; // XXXXX_XXXXXXXXXXXXXXXXX.jpg

    /* Upload myavatar.png 1000x300*/
    $id = \DB::table('avatars')->count(); // 40
    $file = Uploader::save("avatar","avatars", 40,false,['jpg']); // upload only jpg files
    if (!$file)
        echo Uploader::error(); // Invalid extension: png
});
```

\#Get Url

```
