aldozumaran/uploader

此包已被弃用,不再维护。未建议替代包。
此包最新版本(1.0.0)没有可用的许可信息。

Laravel Uploader

1.0.0 2016-06-16 13:24 UTC

This package is auto-updated.

Last update: 2023-11-05 18:45:27 UTC


README

##文件存储,以便更轻松地进行验证操作。

可以上传不同分辨率的图片。

    THUMB,MEDIUM,XLARGE,ORIGINAL 

并添加更多。

#设置 将包添加到 composer.json 的 require 部分,并运行 composer update

"aldozumaran/uploader": "dev-master"

然后将 Service Provider 添加到 config/app.php 中的 providers 数组

AldoZumaran\Uploader\UploaderServiceProvider::class,

然后将 Facades 添加到 config/app.php 中的 aliases 数组

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

然后运行

php artisan vendor:publish

#配置 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,
];

##尺寸(仅图片)如果宽度/高度低于原始宽度/高度,则调整“图片”大小

##验证 “files/images” 的有效扩展名,可以将图片视为文件,不会进行缩放。

##UPLOAD_DIR 上传目录,默认 "uploads",Uploader 在 public 内创建目录。

##FILES_DIR, IMAGES_DIR 文件和图片目录。仅针对图片,Uploader 创建尺寸目录

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

##RANGE 每 "range" 个文件,Uploader 创建新的子目录

    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
    ...

用法

保存文件

    **
     * @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 : <input name="file" type="file" /> 
    /* 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 : <input name="avatar" type="file" /> 
    /* 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
});

#获取 URL

<?php
Route::get('avatar', .function(){
    /**
     * @param $id
     * @param $dir_name
     * @param string $name
     * @param bool|true $isFile
     * @param string $size
     * @param string $format //url,path - default:url
     * @return string
     */
    $file = Uploader::getUrl(39,'avatars','XXXXX_XXXXXXXXXXXXXXXXX.jpg',false,'thumb')
    echo $file; // http://example.com/uploads/images/thumb/avatars/0/XXXXX_XXXXXXXXXXXXXXXXX.jpg
    
    $file = Uploader::getUrl(39,'avatars','XXXXX_XXXXXXXXXXXXXXXXX.jpg',false,'medium')
    echo $file; // http://example.com/uploads/images/medium/avatars/0/XXXXX_XXXXXXXXXXXXXXXXX.jpg
});