tystuyfzand/seaweedfs-client

A SeaweedFS implementation for PHP based on Guzzle

v1.0.7 2022-04-02 09:05 UTC

This package is auto-updated.

Last update: 2024-04-19 22:31:28 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);

// 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;

Other packages

  • Flysystem-SeaweedFS
  • Laravel-SeaweedFS