Download the PHP package noerd/media without Composer

On this page you can find all versions of the php package noerd/media. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package media

noerd/media

Total Downloads Latest Stable Version

A media library for noerd — upload, organize, and serve files across your Laravel app. Folders, tags, and automatic image & PDF thumbnails — multi-tenant out of the box.

For full documentation, visit noerd.dev.

Key Features

Requirements

Quickstart

noerd:install-media copies the YAML configs, registers the Media app, adds a dedicated media disk to config/filesystems.php, and runs the module migrations.

Prerequisite: the noerd platform must already be installed (composer require noerd/noerd && php artisan noerd:install). The media package depends on it.

Configuration

Files are stored on a dedicated disk, configurable via the MEDIA_DISK environment variable (defaults to the media disk added during installation):

PDF thumbnails (optional)

PDF thumbnails are rendered by rasterizing the first page with Ghostscript. The binary is auto-detected on $PATH (plus the usual Homebrew locations); point the config at it explicitly when it lives elsewhere:

Ghostscript is not required. Without it — and without the legacy imagick extension, which is used as a fallback when it happens to be installed — PDFs are stored without a thumbnail and the media library renders a file-type tile instead. Image thumbnails are unaffected; they run through Intervention Image's GD driver.

Image variants

The original of an upload is never touched, and the 500px thumbnail is only a tile for the library. What a visitor of a public page receives is a size-limited variant:

The URL points at the signed route /media/image/{id}/{variant}. On its first request the image is scaled down to the configured width (never upscaled), encoded as WebP and cached in the hidden {tenant}/.variants directory; afterwards it is only streamed, with an immutable cache header. The route needs no login — the signature is the authorization, so no media id can be guessed — and also works while media.private is on. SVG, GIF, AVIF and PDF files are delivered as they are.

Run php artisan media:clear-variants after changing a width.

App folders

A module can own folders in every tenant's media library — the accounting module, for example, registers Receipt Import (what its receipt agent reads) and Receipt Documents (where the receipts end up). Register them from the module's service provider boot():

Blocking sub-folders

Some folders have to stay flat — an import inbox whose pipeline only reads the top level, a drop folder a consumer watches. A tenant admin decides that per folder: open the folder and untick "Allow subfolders" right of the breadcrumb. It works for app folders exactly like for a user's own folder.

Artisan Commands

Auto installed packages

Optional: ext-imagick — legacy fallback for PDF preview rasterization, superseded by the Ghostscript binary.

Installation as Submodule to contribute

The submodule install is optional — only needed if you want to contribute to the development of Media. Install it as a git submodule instead:

Then add a path repository and the package to your composer.json:

Then run:

This way, you can make changes directly in app-modules/media and push them back to the Media repository.


All versions of media with dependencies

PHP Build Version
Package Version
Requires laravel/framework Version ^12.0 || ^13.0
noerd/noerd Version ^0.16.36
intervention/image Version ^3.11
barryvdh/laravel-dompdf Version ^3.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package noerd/media contains the following files

Loading the files please wait ...