bao0541/seaweedfs-client

A SeaweedFS implementation for PHP based on Guzzle

1.0.6 2020-07-22 07:04 UTC

This package is auto-updated.

Last update: 2024-05-22 16:05:49 UTC


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