Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/clivern/file_uploader
:moyai: PHP File Uploader Package
https://github.com/clivern/file_uploader
laravel laravel-package php php-library uploader
Last synced: about 2 months ago
JSON representation
:moyai: PHP File Uploader Package
- Host: GitHub
- URL: https://github.com/clivern/file_uploader
- Owner: Clivern
- License: mit
- Created: 2016-06-11T23:59:25.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-02-29T20:27:33.000Z (10 months ago)
- Last Synced: 2024-11-13T11:34:55.466Z (about 2 months ago)
- Topics: laravel, laravel-package, php, php-library, uploader
- Language: PHP
- Homepage:
- Size: 38.1 KB
- Stars: 12
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# File Uploader
PHP File Uploader Package
*Current version: [v1.0.2]*
[![Build Status](https://travis-ci.org/Clivern/file_uploader.svg?branch=master)](https://travis-ci.org/Clivern/file_uploader) [![Latest Stable Version](https://poser.pugx.org/clivern/file_uploader/v/stable)](https://packagist.org/packages/clivern/file_uploader) [![License](https://poser.pugx.org/clivern/file_uploader/license)](https://packagist.org/packages/clivern/file_uploader)
## Installation
Via Composer
``` bash
$ composer require clivern/file_uploader
```## Usage
First configure uploader class.
``` phpinclude_once dirname(__FILE__) . '/vendor/autoload.php';
$uploader = new \Clivern\FileUploader\Uploader([
'dir_path' => dirname(__FILE__), # Path to storage directory
'dir_name' => 'storage', # Storage directory name
'year_storage_based' => true, # Whether to arrange uploaded file in year directories
'month_storage_based' => true, # Whether to arrange uploaded file in months under year directories
]);
```Then upload and validate file
```php
$result = $uploader->uploadFile('test', [ # test is the file input name# validate allowed extensions
# Possible values are:
# false => to stop extension validation.
# array of allowed extensions.
'supported_extensions' => ['txt'],# validate allowed types
# Possible values are:
# false => to stop type validation.
# array of allowed types.
'supported_types' => ['text/plain'],# Maximum upload size
# Possible values are:
# false => to stop size validation.
# 1KB or 2KB or 8KB and so on.
# 2MB or 3MB or 8MB and so on.
# 3GB or 4GB or 5GB and so on.
# 4TP or 8TP or 10TP and so on.
# 9PB or 8PB and so on.
'max_size' => '2MB',
]);
```Then check if file uploaded
```php
if (!$result) {
# Get Errors List
$errors = $uploader->getErrors();
}else{
# Get uploaded file info
$file_info = $uploader->getFileInfo();
}
```Explore this working example
```php
dirname(__FILE__), # Path to storage directory
'dir_name' => 'storage', # Storage directory name
'year_storage_based' => true, # Whether to arrange uploaded file in year directories
'month_storage_based' => true, # Whether to arrange uploaded file in months under year directories
]);$result = $uploader->uploadFile('test', [ # test is the file input name
# validate allowed extensions
# Possible values are:
# false => to stop extension validation.
# array of allowed extensions.
'supported_extensions' => ['txt'],# validate allowed types
# Possible values are:
# false => to stop type validation.
# array of allowed types.
'supported_types' => ['text/plain'],# Maximum upload size
# Possible values are:
# false => to stop size validation.
# 1KB or 2KB or 8KB and so on.
# 2MB or 3MB or 8MB and so on.
# 3GB or 4GB or 5GB and so on.
# 4TP or 8TP or 10TP and so on.
# 9PB or 8PB and so on.
'max_size' => '2MB',
]);echo '
';
if (!$result) {
# Get Errors List
$errors = $uploader->getErrors();
var_dump($errors);
}else{
# Get uploaded file info
$file_info = $uploader->getFileInfo();
var_dump($file_info);
}
die();
}?>
```
## Change log
```
Version 1.0.2
> Initial Release
```## Testing
``` bash
$ composer test
```## Contributing
Please see [CONTRIBUTING](CONTRIBUTING.md) and [CONDUCT](CONDUCT.md) for details.
## Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.