PHPackages                             tattali/presigned-url - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. tattali/presigned-url

ActiveLibrary[File &amp; Storage](/categories/file-storage)

tattali/presigned-url
=====================

S3-style presigned URLs for any storage backend

v1.0.1(4mo ago)023MITPHPPHP &gt;=8.2CI passing

Since Jan 7Pushed 4mo agoCompare

[ Source](https://github.com/tattali/PresignedUrl)[ Packagist](https://packagist.org/packages/tattali/presigned-url)[ RSS](/packages/tattali-presigned-url/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (15)Versions (3)Used By (0)

PresignedUrl
============

[](#presignedurl)

[![CI](https://github.com/tattali/PresignedUrl/actions/workflows/ci.yml/badge.svg)](https://github.com/tattali/PresignedUrl/actions/workflows/ci.yml)[![Quality Gate Status](https://camo.githubusercontent.com/ac66a3074916321573e60cf660364ac0418d23a0723f339fda75ac97cc0381f9/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d74617474616c695f5072657369676e656455726c266d65747269633d616c6572745f737461747573)](https://sonarcloud.io/summary/new_code?id=tattali_PresignedUrl)[![Coverage](https://camo.githubusercontent.com/8e361fc0b05d93a49ddb6fa4c21ae0475037ccafdfb166b07f4e8688ed77b814/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d74617474616c695f5072657369676e656455726c266d65747269633d636f766572616765)](https://sonarcloud.io/summary/new_code?id=tattali_PresignedUrl)[![Latest Stable Version](https://camo.githubusercontent.com/ac720a84d5d2b5e6262ae22a8aca794d4a15dbea5e70890cf1823ee0a0cb95b6/68747470733a2f2f706f7365722e707567782e6f72672f74617474616c692f7072657369676e65642d75726c2f762f737461626c65)](https://packagist.org/packages/tattali/presigned-url)[![License](https://camo.githubusercontent.com/72f177a58b6428e92c09891f3d877307cac953996d5a62a59ea694426493802e/68747470733a2f2f706f7365722e707567782e6f72672f74617474616c692f7072657369676e65642d75726c2f6c6963656e7365)](https://packagist.org/packages/tattali/presigned-url)

S3-style presigned URLs for any storage backend.

Installation
------------

[](#installation)

```
composer require tattali/presigned-url
```

Features
--------

[](#features)

- Presigned URL generation with HMAC signature (timing-safe)
- Multi-bucket support with different adapters
- Conditional caching (ETag, If-None-Match, If-Modified-Since -&gt; 304)
- Range requests (206 Partial Content)
- Conditional gzip compression
- Configurable CORS
- Path traversal protection
- File extension validation
- Compatible with Symfony 6.4/7.0/8.0 and Laravel 10/11/12
- Zero core dependencies (PHP 8.2+)

Standalone Usage
----------------

[](#standalone-usage)

```
