https://github.com/akbsit/laravel-system-file
Package for downloading laravel files.
https://github.com/akbsit/laravel-system-file
cms downloads files images laravel media upload
Last synced: 2 months ago
JSON representation
Package for downloading laravel files.
- Host: GitHub
- URL: https://github.com/akbsit/laravel-system-file
- Owner: akbsit
- License: mit
- Created: 2022-03-02T13:28:22.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-06T11:42:49.000Z (about 2 years ago)
- Last Synced: 2025-12-30T18:17:45.277Z (6 months ago)
- Topics: cms, downloads, files, images, laravel, media, upload
- Language: PHP
- Homepage:
- Size: 37.1 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# laravel-system-file, [Packagist](https://packagist.org/packages/akbsit/laravel-system-file)
## Install
To install package, you need run command:
```bash
composer require akbsit/laravel-system-file
```
Next install migrations:
```bash
php artisan migrate
```
## Usage
To connect package to the model, you need to add a trait `InteractsMedia`:
```php
use Akbsit\SystemFile\Traits\InteractsMedia;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
use InteractsMedia;
}
```
## Examples
1. Upload image:
```php
User::first()
->addMedia('')
->setFileName('user1')
->put();
```
2. Attach one file to the model (the old one will be overwritten when re-uploading):
```php
User::first()
->addMedia('')
->setFileName('user1')
->single()
->put();
```
3. Get first image:
```php
$oSystemFile = User::first()->getMediaFirst();
```
4. Get images list:
```php
$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
```bash
php artisan system-file:sync
```