Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Flysystem Qiniu

Flysystem Qiniu Laravel Package

liz/flysystem-qiniu

liz/flysystem-qiniu is a Flysystem adapter for Qiniu cloud storage. It lets Laravel and PHP applications use Qiniu as a filesystem disk, so you can upload, read, and delete files through Flysystem's unified API with minimal configuration.

View on GitHub
Deep Wiki
Context7

liz/flysystem-qiniu is a Flysystem adapter that connects PHP applications to Qiniu Cloud object storage (Kodo). It lets you read, write, delete, and list files on Qiniu through the same Filesystem interface you already use, so storage backends stay interchangeable.

  • Flysystem-compatible adapter for Qiniu Kodo buckets
  • Simple configuration via access key, secret key, bucket, and domain
  • Supports common operations: write, read, delete, exists, and list contents
  • Drop-in integration with Laravel or any PHP project using Flysystem
  • Lightweight, with no unnecessary dependencies
Frequently asked questions about Flysystem Qiniu
How do I install liz/flysystem-qiniu in a Laravel app?
Install it with composer require liz/flysystem-qiniu, then register a custom filesystem driver with Storage::extend in a service provider and reference it from config/filesystems.php with your bucket, access key, secret key, and bound domain. The package is a thin wrapper around qiniu/php-sdk, so the Qiniu SDK comes along as a dependency. Check the composer.json constraints before installing, because the last release dates to January 2021 and may not resolve on modern Laravel.
Does liz/flysystem-qiniu support Laravel 9, 10, or 11?
Not without modification. The last release predates the Flysystem 3 rewrite, and Laravel 9 and later pin league/flysystem ^3, so Composer will either hard-conflict or force you to downgrade the framework. Use it as-is only on older Laravel versions, or fork it and port the adapter class to Flysystem 3's FilesystemAdapter contract.
Which Flysystem version does this Qiniu adapter target?
Almost certainly Flysystem 1, possibly partial Flysystem 2, given the January 2021 release date. Flysystem 1 to 2 to 3 was a breaking rewrite involving AdapterInterface becoming FilesystemAdapter, typed Config and Visibility objects, and changed DirectoryListing return types. Read the league/flysystem constraint in composer.json to confirm before adopting it.
How do I configure a Qiniu disk in config/filesystems.php?
Add a disk entry using your custom driver name, with keys for the bucket, access key, secret key, and the CDN or bound domain used for URL generation. Because Laravel has no built-in Qiniu driver, you must also register the driver in a service provider via Storage::extend before the disk can resolve. After that, application code can use the Storage facade normally.
Does it support private Qiniu buckets with expiring download URLs?
Probably not out of the box. The adapter is a thin pass-through to qiniu/php-sdk, and signed private-bucket URLs are not part of the classic Flysystem adapter contract, so url() most likely returns public domain URLs only. If you need expiring links, plan to add privateDownloadUrl handling yourself and test it against a private bucket.
How does listContents handle Qiniu Kodo pagination?
Qiniu Kodo has no real directories, only key prefixes, and its listing API is paginated and truncated. Hand-rolled Qiniu adapters frequently return just the first page, which silently truncates results for large buckets. Verify that the adapter loops on the list marker until complete and honors the deep flag, and patch it with tests if it does not.
Is liz/flysystem-qiniu actively maintained and safe for production?
Treat it as sample code rather than a dependable dependency. The repository has around 4 stars, zero dependents, no release in over four years, and no visible test suite, so there is no security patching or compatibility work. The repo owner also does not match the liz/ vendor namespace, which suggests a republished personal fork, so verify the license and upstream attribution before any commercial use.
What are the best alternatives to liz/flysystem-qiniu for Qiniu storage in Laravel?
The preferred route is Qiniu's S3-compatible Kodo interface with league/flysystem-aws-s3-v3, a first-party-maintained adapter, provided a spike confirms it covers put, get, delete, list, and presigned URLs. If you need Qiniu-specific features such as fop image processing or private-bucket token URLs, fork this adapter, port it to Flysystem 3, and maintain it in-house with contract tests. Keep application code against the Storage facade so the backend stays swappable.
How are large or multipart uploads handled by this Qiniu adapter?
Uploads are delegated to qiniu/php-sdk, which supports multipart and resumable transfers through its own APIs. However, Flysystem's write and writeStream contract does not map cleanly onto Qiniu's per-request upload tokens, so transparent multipart behavior is not guaranteed. Test large and streamed uploads explicitly, and call the SDK directly if you need resumable transfers.
Can I use Qiniu Kodo with league/flysystem-aws-s3-v3 instead?
Qiniu exposes an S3-compatible interface for Kodo, so you can often point the AWS S3 Flysystem adapter at it and treat Qiniu as a commodity S3 target. Compatibility is partial, so run a verification spike covering put, get, delete, list, and presigned URLs before committing to it. If it passes, you get a maintained adapter with no custom code to own.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core
nodisrupt/laravel-agent
sierratecnologia/media-manager