tourze / file-name-generator
File name generator
Installs: 234
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/tourze/file-name-generator
Requires
- php: ^8.1
Requires (Dev)
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-10-31 05:24:29 UTC
README
A simple file name generator for creating random and date-based structured file names.
Features
- Generate unique random identifiers using PHP's uniqid function
- Create date-structured file paths (YYYY/MM/DD format)
- Support custom path prefixes for flexible file organization
- Support various file extensions including compound extensions
- Lightweight with no external dependencies
Installation
composer require tourze/file-name-generator
Quick Start
Generate Random Names
<?php use Tourze\FileNameGenerator\RandomNameGenerator; $generator = new RandomNameGenerator(); // Generate a unique random string like "5fd8b23a7a9c1.23456" $randomName = $generator->generateRandomName(); echo $randomName;
Generate Date-based File Names
<?php use Tourze\FileNameGenerator\RandomNameGenerator; $generator = new RandomNameGenerator(); // Generate file name like "2024/07/20/5fd8b23a7a9c1.23456.jpg" $fileName = $generator->generateDateFileName('jpg'); // Generate with custom prefix like "uploads/2024/07/20/5fd8b23a7a9c1.23456.jpg" $fileNameWithPrefix = $generator->generateDateFileName('jpg', 'uploads'); // Support compound extensions like "2024/07/20/5fd8b23a7a9c1.23456.tar.gz" $archiveFile = $generator->generateDateFileName('tar.gz');
Integration Examples
<?php use Tourze\FileNameGenerator\RandomNameGenerator; class FileUploadService { private RandomNameGenerator $nameGenerator; public function __construct() { $this->nameGenerator = new RandomNameGenerator(); } public function saveUploadedFile(string $originalExtension): string { $fileName = $this->nameGenerator->generateDateFileName($originalExtension, 'uploads'); // Save file logic here... return $fileName; } }
Contributing
Please see CONTRIBUTING.md for details.
License
The MIT License (MIT). Please see License File for more information.