bao0541 / seaweedfs-client
A SeaweedFS implementation for PHP based on Guzzle
1.0.6
2020-07-22 07:04 UTC
Requires
- guzzlehttp/guzzle: ^6.3
Suggests
- ext-memcached: Enables caching for volumes and metadata using memcached.
- predis/predis: Enables caching for volumes and metadata using redis.
README
A basic but functional PHP client for seaweedfs
Usage
Create an instance of the SeaweedFS\SeaweedFS
class, optionally specifying scheme
and cache
for http/https and Volume lookup caching.
Example
<?php $cache = new \SeaweedFS\Cache\FileCache('./cache'); $client = new \SeaweedFS\SeaweedFS('127.0.0.1:9333', 'http', $cache); // Set Volume Host $client->setVolumeHost('127.0.0.1:8080'); // Upload a file and get the returned object (SeaweedFS\Models\File) $file = $client->upload('test1234', 'test.txt'); // Update a file $client->upload('Testing1234', 'test.txt', $file); // Retrieve the file contents $stream = $client->get($file->fid); echo stream_get_contents($stream) . PHP_EOL; // Delete a file $client->delete($file->fid); // Get a file's URL echo "URL: " . $file->getFileUrl() . PHP_EOL; // URLs can also be retrieved manually $volume = $client->lookup($file->fid); echo "URL (manual): " . $client->buildVolumeUrl($volume->getPublicUrl(), $file->fid) . PHP_EOL; // OR echo "URL (manual): " . $client->buildVolumeUrl('', $file->fid) . PHP_EOL;
Other packages
- Flysystem-SeaweedFS
- Laravel-SeaweedFS