定制 akbsit/laravel-system-file 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

akbsit/laravel-system-file

Composer 安装命令:

composer require akbsit/laravel-system-file

包简介

Uploading files to the server.

README 文档

README

Install

To install package, you need run command:

composer require akbsit/laravel-system-file

Next install migrations:

php artisan migrate

Usage

To connect package to the model, you need to add a trait InteractsMedia:

use Akbsit\SystemFile\Traits\InteractsMedia;
use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    use InteractsMedia;
}

Examples

  1. Upload image:
User::first()
    ->addMedia('<file_url>')
    ->setFileName('user1')
    ->put();
  1. Attach one file to the model (the old one will be overwritten when re-uploading):
User::first()
    ->addMedia('<file_url>')
    ->setFileName('user1')
    ->single()
    ->put();
  1. Get first image:
$oSystemFile = User::first()->getMediaFirst();
  1. Get images list:
$oSystemFileList = User::first()->getMedia();

Methods and properties

  • media - list of files attached to the model;
  • addMedia($file) - attach file to the model:
    • $file - object/link of the uploaded file.
  • mediaExists(string $sCollection) - check for attached files (by default default);
  • getMedia(string $sCollection) - list of collection files (by default default);
  • getMediaFirst(string $sCollection) - first element of the collection (by default default).

media

  • getUrl() - absolute file path;
  • getPath() - path to the file;
  • getWidthAndHeight() - get file sizes (for images);
  • getWidth() - get width (for images);
  • getHeight() - get height (for pictures);
  • fileExists() - check for the presence of the file physically.

addMedia

  • setFile($file) - set object/link to a file;
  • setModel(Model $oModel) - set model;
  • enablePartition() - enable folder generation (example: 73c/d53/dce);
  • single() - add one file to the model (all others are deleted if they were previously attached);
  • setOriginFileName(string $sOriginFileName) - set origin file name;
  • setFileName(string $sFileName) - set file name;
  • setProperties(array $arProperties) - set file properties;
  • toDisk(string $sDisk) - set storage disk (by default public);
  • toCollection(string $sCollection) - set collection (by default default);
  • toDir(string $sDir) - set storage folder (by default default);
  • put() - save file.

Console commands

File synchronization

php artisan system-file:sync

akbsit/laravel-system-file 适用场景与选型建议

akbsit/laravel-system-file 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 44 次下载、GitHub Stars 达 1, 最近一次更新时间为 2023 年 09 月 17 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「media」 「cms」 「upload」 「images」 「files」 「laravel」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 akbsit/laravel-system-file 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 akbsit/laravel-system-file 我们能提供哪些服务?
定制开发 / 二次开发

基于 akbsit/laravel-system-file 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 44
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 25
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-09-17