angrydeer / attachfiles
将一些附加文件添加到Eloquent模型中,并将其存储在storage/app/attached/{Y-m-d}目录。
dev-master / 1.0.x-dev
2016-02-18 11:31 UTC
Requires
- php: >=5.4.0
- illuminate/support: ~5.1
Requires (Dev)
- phpunit/phpunit: 4.*
- scrutinizer/ocular: ~1.1
- squizlabs/php_codesniffer: ~2.3
This package is not auto-updated.
Last update: 2024-09-14 18:04:21 UTC
README
简介
专为方便与后台管理面板(如Sleeping-Owl admin)协同工作而开发,其中所有下载的文件都存储在单个文件夹中,如果记录未保存,则不会删除。
Attahfiles在任意模型记录与下载文件集合之间创建链接。它将它们保存在存储中,分配唯一的名称,为每月的每一天创建新文件夹,并从共享文件夹上传中删除原始文件。
删除附件时,文件将从存储中删除。
您可以添加标题、Alt和描述文件字段。如果Alt字段为空,则视为原始文件名。
安装
将以下内容添加到composer.json的require部分
"angrydeer/attachfiles": "dev-master"
运行composer update
之后将其添加到config/app.php
'providers' => [ /* * Laravel Framework Service Providers... */ Angrydeer\Attachfiles\AttachfilesServiceProvider::class, // ... ],
控制台
$ php artisan vendor:publish $ php artisan migrate
用法
在模型中
// beginning omitted use Angrydeer\Attachfiles\AttachableTrait; use Angrydeer\Attachfiles\AttachableInterface; class SomeModel extends Model implements AttachableInterface { use AttachableTrait; public function myfunc() { $model = SomeModel::find(1); $model->updateOrNewAttach($filename, $title, $alt, $desc); $model->removeAttach($filename); $all_attach_files = $model->attaches; $filearray = [ 'file1', 'file12', 'file3' ] /* * as example, in $all_attach_files now attaches with 'file2', 'file3', 'file4' * */ $model->keepOnly($filearray); $all_attach_files = $model->attaches; // 'file2', 'file3' included. file4 removed. } }
在route.php中可以写入图像示例
Route::get('attaches/{date}/{filename}', function ($date,$filename) { return Storage::get('attaches/'.$date.'/'.$filename); });
在视图中
@foreach($model->attaches as $attach) <img src="{{URL::to($attach->filename)}}" alt="{{$attach->alt}}" title="{{$attach->title}}"> @endforeach
变更日志
请参阅CHANGELOG获取最近更改的更多信息。
贡献
请参阅CONTRIBUTING和CONDUCT获取详细信息。
问题
如果您发现任何相关问题,请使用问题跟踪器。
鸣谢
- [AngryDeer][http://angrydeer.ru]
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。