programster/upload-file-manager

A library to make handling file uploads easier.

Maintainers

Package info

github.com/programster/package-upload-file-manager

Homepage

pkg:composer/programster/upload-file-manager

Statistics

Installs: 1 709

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

2.0.0 2026-04-04 18:29 UTC

This package is not auto-updated.

Last update: 2026-04-04 18:30:31 UTC


README

A package to make it easy to deal with upload files.

Install

composer require programster/upload-file-manager

Example Usage

$uploadManager = new Programster\UploadFileManager\UploadFileManager();
$map = $uploadManager->getUploadFileMap();

if (array_key_exists('my_file_input_field_name', $map)) 
{
    /* @var $file Programster\UploadFileManager\UploadFile */
    $uploadFiles = $map['my_file_input_field_name'];
    
    foreach ($uploadFiles as $uploadFile)
    {
      if ($uploadFile->hasError())
      {
          throw $file->getException();
      }
      else
      {
          // Upload was successful, do something with the file here.
          $uploadFile->getFilepath();
          $uploadFile->getSize();
          $uploadFile->getName();
          $uploadFile->getMimeType();
          $uploadFile->getFormFieldName();
      }
    }    
}

... or alternatively:

$uploadManager = new Programster\UploadFileManager\UploadFileManager();
$files = $uploadManager->getUploadFiles();

if (count($files) > 0) 
{ 
    foreach ($files as $uploadFile)
    {
      if ($uploadFile->hasError())
      {
          throw $file->getException();
      }
      else
      {
          // Upload was successful, do something with the file here.
          $uploadFile->getFilepath();
          $uploadFile->getSize();
          $uploadFile->getName();
          $uploadFile->getMimeType();
          $uploadFile->getFormFieldName();
      }
    }    
}

If your form has multiple input fields for files:

$uploadManager = new Programster\UploadFileManager\UploadFileManager();
$files = $uploadManager->getUploadFileMap();

if (count($files) > 0) 
{
    // some files were uploaded, loop thorugh them.
    foreach ($files as $inputFieldName => $file)
    {
        /* @var $file Programster\UploadFileManager\UploadFile */
        if ($file->hasError())
        {
            throw $file->getException();
        }
        else
        {
            // Upload was successful, do something with the file here.
            $uploadFile->getFilepath();
            $uploadFile->getSize();
            $uploadFile->getName();
            $uploadFile->getMimeType();
        }
    }
}