FastDFS接口API文档说明

来源:互联网 发布:新网域名自助管理平台 编辑:程序博客网 时间:2024/04/30 03:16
 FastDFS接口API文档说明是什么呢?这是很多学习php的朋友都非常想了解的问题,下面就让达内的老师来为大家介绍一下:

一.命令行的上传:
上传命令1.
/usr/local/bin/fdfs_upload_file  <config_file> <local_filename>
例如:系统根目录下有个文件需要上传到dfs服务器上:
/ cairo-1.2.0.tar.gz
执行上传命令如下:
/usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf /cairo-1.2.0.tar.gz
返回值如下:
group3/M00/00/00/wKgAUE5yh7DZXQcEACiWWseqpak.tar.gz
此信息返回的是文件存储的路径及文件名信息。
 
上传命令2(测试上传,请务必不要在生产线上使用,统一使用第一种上传):
/usr/local/bin/fdfs_test  <config_file>  upload <local_filename>
例如:上传同上一样的文件:
/usr/local/bin/fdfs_test  /etc/fdfs/client.conf  upload /cairo-1.2.0.tar.gz
返回值如下:
INFO - base_path=/home/yuqing/fastdfs, connect_timeout=30,
 network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secr
et_key length=0
tracker_query_storage_store_list_without_group:
        server 1. group_name=group3, ip_addr=192.168.0.80, port=23000
 
group_name=group3, ip_addr=192.168.0.80, port=23000
storage_upload_by_filename
group_name=group3, remote_filename=M00/00/00/wKgAUE5yiVK0VEpSACiWWseqpak.tar.gz
source ip address: 192.168.0.80
file timestamp=2011-09-16 07:25:06
file size=2659930
file crc32=3349849513
tar.gz
storage_upload_slave_by_filename
group_name=group3, remote_filename=M00/00/00/wKgAUE5yiVK0VEpSACiWWseqpak_big.tar
.gz
source ip address: 192.168.0.80
file timestamp=2011-09-16 07:25:06
file size=2659930
file crc32=3349849513
big.tar.gz
以上返回信息中:
1.       INFO信息返回了存储服务器的系统信息
2.       Group_name:返回了storage服务器的id信息
3.       remote_filename:返回了storage的存储路径。
4.       source_ip address:返回了tracker server的ip地址。
5.       file timestamp:返回时间戳
6.       file size:返回文件大小
7.       file url:返回上传文件的url地址
 
二.命令行的删除:
/usr/local/bin/fdfs_delete_file  <config_file>  groupid/file_name
例如:删除上面上传的文件
/usr/local/bin/fdfs_delete_file /etc/fdfs/client.conf group3/M00/00/00/wKgAUE5yiVK0VEpSACiWWseqpak.tar.gz
 
三.下载:
/usr/local/bin/fdfs_download_file <config_file> <file_id> [local_filename]
例如下载上面上传的文件:
/usr/local/bin/fdfs_download_file /etc/fdfs/client.conf group3/M00/00/00/wKgAUE5yiVK0VEpSACiWWseqpak_big.tar.gz /cairo.tar.gz
其中:config_file:只客户端下载配置文件
      File_id:指文件的路径
      local_filename:指下载到本地后修改的文件名。
 

基于php的API

注解:
Filename是storage返回的remote_filename
file_id是including group name and filename
group是storage的组名
timestamp是时间戳
local_filename本地文件名
file_ext_name文件扩展名
meta_list详细文件属性列表
tracker_server Fast的服务器地址
storage_server    group地址
 
获取FastDFS的版本:
fastdfs_client_version()
返回值类型:字符串
 
获取错误记录数:
fastdfs_get_last_error_no()
返回值类型:int
 
获取错误信息:
fastdfs_get_last_error_info()
返回值类型:字符串
 
获取产生反偷令牌函数:
fastdfs_http_gen_token(string file_id, int timestamp)
返回值类型:string
 
通过文件名得到文件详细信息:
fastdfs_get_file_info(string group_name, string filename)
返回值类型:array
包括信息:时间戳
                     文件大小
                     源地址
 
通过文件id获取文件信息:
fastdfs_get_file_info1(string file_id)
返回值类型:array
包括信息:时间戳
                     文件大小
                     源地址
 
由主文件名产生从文件名:
string fastdfs_gen_slave_filename(string master_filename, string prefix_name
                [, string file_ext_name])
返回值:字符串
返回信息:从文件名,出错返回error
 
上传本地文件到服务器:
array fastdfs_storage_upload_by_filename(string local_filename
         [, string file_ext_name, array meta_list, string group_name,
         array tracker_server, array storage_server])
返回值:array
 
上传本地文件到服务器:
string fastdfs_storage_upload_by_filename1(string local_filename
         [, string file_ext_name, string meta_list, string group_name,
         array tracker_server, array storage_server])
返回值:string
例如:fastdfs_storage-upload_by_filename1("/zxy.jpg", null, array(), null, $tracker, $storage);
 
上传文件到存储服务器的缓存。
fastdfs_storage_upload_by_filebuff(string file_buff
         [, string file_ext_name, string meta_list, string group_name,
         array tracker_server, array storage_server])
返回值:array
 
上传本地文件到存储服务器:
fastdfs_storage_upload_appender_by_filename(string local_filename
         [, string file_ext_name, array meta_list, string group_name,
         array tracker_server, array storage_server])
返回值:array
 
删除storage上的文件:
fastdfs_storage_delete_file(string group_name, string remote_filename
         [, array tracker_server, array storage_server])
返回值:boolean
 
删除storage上的文件:
fastdfs_storage_delete_file1(string file_id
         [, array tracker_server, array storage_server])
返回值:boolean
 
下载文件:(请根据调用情况使用下载函数,url的下载可以直接参考组合url地址)
fastdfs_storage_download_file_to_buff(string group_name,
         string remote_filename [, long file_offset, long download_bytes,
         array tracker_server, array storage_server])
         返回值:string
 
下载文件:
fastdfs_storage_download_file_to_buff1(string file_id
        [, long file_offset, long download_bytes,
         array tracker_server, array storage_server])
返回值:string

下载文件到本地:
fastdfs_storage_download_file_to_file(string group_name,
         string remote_filename, string local_filename [, long file_offset,
         long download_bytes, array tracker_server, array storage_server])
返回值:boolean
 
设置文件元数据属性:
fastdfs_storage_set_metadata(string group_name, string remote_filename,
         array meta_list [, string op_type, array tracker_server,
         array storage_server])
返回值:boolean
 
设置文件元数据:
fastdfs_storage_get_metadata(string group_name, string remote_filename
         [, array tracker_server, array storage_server])
返回值:boolean
 
 
连接服务器:
fastdfs_connect_server(string ip_addr, int port)
返回值:array:
                            Ip地址
            Port
 
断开服务器连接:
fastdfs_disconnect_server(array server_info)
返回值:boolean
 
 
状态测试:(主要测试storage的状态)
fastdfs_active_test(array server_info)
返回值:boolean
 
获取一个tracker server连接:
fastdfs_tracker_get_connection()
返回值:boolean
 
连接到所有的tracker
fastdfs_tracker_make_all_connections()
返回值:boolean
 
关闭所有的tracker连接:
fastdfs_tracker_close_all_connections()
返回值:boolean
 
 
获得小组统计信息
fastdfs_tracker_list_groups([string group_name, array tracker_server])
返回值:array
 
获取storage信息
fastdfs_tracker_query_storage_store([string group_name,
                   array tracker_server])
返回值:array
 
连接所有的tracker
fastdfs_tracker_make_all_connections()
返回值:boolean

获取存储服务器的信息:
fastdfs_tracker_query_storage_store([string group_name,
                   array tracker_server])
返回值:array
 
获取上传服务器的信息列表:
fastdfs_tracker_query_storage_store_list([string group_name,
                   array tracker_server])
返回值:array
 
删除一个存储服务器:
fastdfs_tracker_delete_storage(string group_name, string storage_ip)
返回值:boolean
 
实例:
 
1.       上传一个文件:
   <?php
$tracker = fastdfs_tracker_get_connection();
var_dump($tracker);
 if (!fastdfs_active_test($tracker))
 {
        error_log("errno: " . fastdfs_get_last_error_no() . ", error info: " . fastdfs_get_last_error_info());
        exit(1);
 }
$storage = fastdfs_tracker_query_storage_store();
if (!$storage)
 {
        error_log("errno: " . fastdfs_get_last_error_no() . ", error info: " . fastdfs_get_last_error_info());
        exit(1);
 }
$file_info = fastdfs_storage_upload_by_filename("/zxy.jpg", null, array(), null, $tracker, $storage);
?>
 
2.       下载一个文件
  <?php
$group_name="group3";
$filename="M00/00/00/wKgAUE5zkhH8yBZwAAGH3hvfjJA398.jpg";
$file_id="group3/M00/00/00/wKgAUE5zkhH8yBZwAAGH3hvfjJA398.jpg";
$timestamp="2011-09-17 02:14:41";
 
 
fastdfs_storage_download_file_to_file($group_name,$filename, "test.jpg");
 
?>
 
3.       删除一个文件
  <?php
        $group_name="group3";
$filename="M00/00/00/wKgAUE5zkhH8yBZwAAGH3hvfjJA398.jpg";
 
     echo fastdfs_storage_delete_file($group_name, $filename);
?>

       关于FastDFS接口API文档说明的相关常识已经为您介绍完了,达内培训希望上边介绍的内容能对学员们有所帮助。

0 0