aldozumaran / uploader
此包已被弃用,不再维护。未建议替代包。
此包最新版本(1.0.0)没有可用的许可信息。
Laravel Uploader
1.0.0
2016-06-16 13:24 UTC
Requires
- intervention/image: ^2.3
- laravel/framework: ^5.1
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
});