micjohnson / weed-php
PHP客户端,用于Weed-FS,一个简单且高度可扩展的分布式文件系统
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-22 07:02:32 UTC
README
PHP客户端,用于Weed-FS,一个简单且高度可扩展的分布式文件系统。
Weed-FS: http://code.google.com/p/weed-fs/
状态
准备测试/开发中
测试
安装
通过composer安装
如果你已经使用composer,这是在项目中使用WeedPhp的最简单方式。
添加到你的composer.json文件中
"require": {
"micjohnson/weed-php": "v0.1"
}
通过composer.phar安装
php composer.phar update micjohnson/weed-php
不使用composer安装
克隆仓库
git clone https://github.com/micjohnson/weed-php.git
创建自动加载器。在test/autoload.php中有一个示例
然后将自动加载器包含在你的项目中。
include_once('weed-php/test/autoload.php');
文档
在你的项目中创建一个WeedPhp对象,通过传递你的master weed-fs服务器位置。
<?php
// ...
$weedPhp = new WeedPhp\Client('localhost:9333');
WeedPhp提供了对大多数weed-fs REST调用的函数。
assign($count = 1, $replication = null)
assign返回一个json响应,包括文件id(你的文件将使用该id),以及存储文件的位置(使用store)。
在weed-fs中存储文件时,逻辑流程是assign然后store。Assign为要存储的文件保留$Count个位置(使用单个文件id)。
可以传递一个字符串作为replication,定义此文件将存储的复制类型。请参阅http://code.google.com/p/weed-fs/#Rack-Aware_and_Data_Center-Aware_Replication
注意,如果你有一个大于一的count,在文件id后追加_1, _2, _3等。第一个文件仍然只使用文件id。
store($volumeServerAddress, $fileId, $file)
此操作存储单个文件。
$volumeServerAddress应该是assign()返回的位置。
$fileId应该是assign()返回的文件id。
$file是要存储的原始文件数据。
storeMultiple($volumeServerAddress, $fileId, array $files)
此操作用于分配多个文件版本。它将自动遍历你的文件,并在存储文件时在文件id后追加_1, _2等。
$volumeServerAddress应该是assign()返回的位置。
$fileId应该是assign()返回的文件id。
$files是要存储的原始文件数据数组。
lookup($volumeId)
返回一个json响应,包含存储volume的位置
$volumeId是fileId逗号前的数字。
例如。
fid = 3,01637037d6
volumeId = 3
retrieve($volumeServerAddress, $fileId)
从volume服务器检索原始文件数据。
$volumeServerAddress应该是assign()返回的位置。
$fileId应该是assign()返回的文件id。
delete($volumeServerAddress, $fileId)
从volume服务器删除文件。请注意,没有deleteMultiple,如果你分配/存储了多个文件,你应该逐个删除它们。
$volumeServerAddress应该是assign()返回的位置。
$fileId应该是assign()返回的文件id。
status()
从你的weed-fs主服务器获取状态