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

0.0.1 2025-05-14 17:34 UTC

This package is auto-updated.

Last update: 2025-10-31 05:24:29 UTC


README

English | 中文

PHP Version Latest Version License Total Downloads

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.