angrydeer/attachfiles

将一些附加文件添加到Eloquent模型中,并将其存储在storage/app/attached/{Y-m-d}目录。

dev-master / 1.0.x-dev 2016-02-18 11:31 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:04:21 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

简介

专为方便与后台管理面板(如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获取最近更改的更多信息。

贡献

请参阅CONTRIBUTINGCONDUCT获取详细信息。

问题

如果您发现任何相关问题,请使用问题跟踪器。

鸣谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件