注解:
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
parameters: remote_filename: the remote filename (do NOT including group name) timestamp: the timestamp (unix timestamp) return token string for success, false for error
通过文件名得到文件详细信息:
fastdfs_get_file_info(string group_name, string filename)
返回值类型:array
包括信息:时间戳
文件大小
源地址
parameters: group_name: the group name of the file remote_filename: the filename on the storage server return assoc array for success, false for error. the assoc array including following elements: create_timestamp: the file create timestamp (unix timestamp) file_size: the file size (bytes) source_ip_addr: the source storage server ip address
通过文件id获取文件信息:
fastdfs_get_file_info1(string file_id)
返回值类型:array
包括信息:时间戳
文件大小
源地址
parameters: file_id: the file id (including group name and filename) or remote filename return assoc array for success, false for error. the assoc array including following elements: create_timestamp: the file create timestamp (unix timestamp) file_size: the file size (bytes) source_ip_addr: the source storage server ip address
由主文件名产生从文件名:
string fastdfs_gen_slave_filename(string master_filename, string prefix_name
[, string file_ext_name])
返回值:字符串
返回信息:从文件名,出错返回error
parameters: master_filename: the master filename / file id to generate the slave filename prefix_name: the prefix name to generate the slave filename file_ext_name: slave file extension name, can be null or emtpy (do not including dot) return slave filename string for success, false for 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
parameters: local_filename: the local filename file_ext_name: the file extension name, do not include dot(.) meta_list: meta data assoc array, such as array('width'=>1024, 'height'=>768) group_name: specify the group name to store the file tracker_server: the tracker server assoc array including elements: ip_addr, port and sock storage_server: the storage server assoc array including elements: ip_addr, port and sock return assoc array for success, false for error. the returned array includes elements: group_name and filename
上传本地文件到服务器:
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);
parameters: local_filename: the local filename file_ext_name: the file extension name, do not include dot(.) meta_list: meta data assoc array, such as array('width'=>1024, 'height'=>768) group_name: specify the group name to store the file tracker_server: the tracker server assoc array including elements: ip_addr, port and sock storage_server: the storage server assoc array including elements: ip_addr, port and sock return file_id for success, false for error.
上传文件到存储服务器的缓存。
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
parameters: file_buff: the file content file_ext_name: the file extension name, do not include dot(.) meta_list: meta data assoc array, such as array('width'=>1024, 'height'=>768) group_name: specify the group name to store the file tracker_server: the tracker server assoc array including elements: ip_addr, port and sock storage_server: the storage server assoc array including elements: ip_addr, port and sock return assoc array for success, false for error. the returned array includes elements: group_name and filename
上传本地文件到存储服务器:
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
parameters: local_filename: the local filename file_ext_name: the file extension name, do not include dot(.) meta_list: meta data assoc array, such as array('width'=>1024, 'height'=>768) group_name: specify the group name to store the file tracker_server: the tracker server assoc array including elements: ip_addr, port and sock storage_server: the storage server assoc array including elements: ip_addr, port and sock return assoc array for success, false for error. the returned array includes elements: group_name and filename
删除storage上的文件:
fastdfs_storage_delete_file(string group_name, string remote_filename
[, array tracker_server, array storage_server])
返回值:boolean
parameters: group_name: the group name of the file remote_filename: the filename on the storage server tracker_server: the tracker server assoc array including elements: ip_addr, port and sock storage_server: the storage server assoc array including elements: ip_addr, port and sock return true for success, false for error
删除storage上的文件:
fastdfs_storage_delete_file1(string file_id
[, array tracker_server, array storage_server])
返回值:boolean
parameters: file_id: the file id to be deleted tracker_server: the tracker server assoc array including elements: ip_addr, port and sock storage_server: the storage server assoc array including elements: ip_addr, port and sock return true for success, false for error
下载文件:(请根据调用情况使用下载函数,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
parameters: group_name: the group name of the file remote_filename: the filename on the storage server file_offset: file start offset, default value is 0 download_bytes: 0 (default value) means from the file offset to the file end tracker_server: the tracker server assoc array including elements: ip_addr, port and sock storage_server: the storage server assoc array including elements: ip_addr, port and sock return the file content for success, false for error
下载文件:
fastdfs_storage_download_file_to_buff1(string file_id
[, long file_offset, long download_bytes,
array tracker_server, array storage_server])
返回值:string
parameters: file_id: the file id of the file file_offset: file start offset, default value is 0 download_bytes: 0 (default value) means from the file offset to the file end tracker_server: the tracker server assoc array including elements: ip_addr, port and sock storage_server: the storage server assoc array including elements: ip_addr, port and sock return the file content for success, false for error下载文件到本地:
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
parameters: group_name: the group name of the file remote_filename: the filename on the storage server local_filename: the local filename to save the file content file_offset: file start offset, default value is 0 download_bytes: 0 (default value) means from the file offset to the file end tracker_server: the tracker server assoc array including elements: ip_addr, port and sock storage_server: the storage server assoc array including elements: ip_addr, port and sock return true for success, false for error
设置文件元数据属性:
fastdfs_storage_set_metadata(string group_name, string remote_filename,
array meta_list [, string op_type, array tracker_server,
array storage_server])
返回值:boolean
parameters: group_name: the group name of the file remote_filename: the filename on the storage server meta_list: meta data assoc array to be set, such as array('width'=>1024, 'height'=>768) op_type: operate flag, can be one of following flags: FDFS_STORAGE_SET_METADATA_FLAG_MERGE: combined with the old meta data FDFS_STORAGE_SET_METADATA_FLAG_OVERWRITE: overwrite the old meta data tracker_server: the tracker server assoc array including elements: ip_addr, port and sock storage_server: the storage server assoc array including elements: ip_addr, port and sock return true for success, false for error
设置文件元数据:
fastdfs_storage_get_metadata(string group_name, string remote_filename
[, array tracker_server, array storage_server])
返回值:boolean
parameters: group_name: the group name of the file remote_filename: the filename on the storage server tracker_server: the tracker server assoc array including elements: ip_addr, port and sock storage_server: the storage server assoc array including elements: ip_addr, port and sock return assoc array for success, false for error returned array like: array('width' => 1024, 'height' => 768)
连接服务器:
fastdfs_connect_server(string ip_addr, int port)
返回值:array:
Ip地址 Port parameters: ip_addr: the ip address of the server port: the port of the server return assoc array for success, false for error 断开服务器连接: fastdfs_disconnect_server(array server_info) 返回值:boolean parameters: server_info: the assoc array including elements: ip_addr, port and sock return true for success, false for error 状态测试:(主要测试storage的状态) fastdfs_active_test(array server_info) 返回值:boolean parameters: server_info: the assoc array including elements: ip_addr, port and sock, sock must be connected return true for success, false for error 获取一个tracker server连接: fastdfs_tracker_get_connection() 返回值:boolean return assoc array for success, false for error the assoc array including elements: ip_addr, port and sock 连接到所有的tracker fastdfs_tracker_make_all_connections() 返回值:boolean return true for success, false for error 关闭所有的tracker连接: fastdfs_tracker_close_all_connections() 返回值:boolean return true for success, false for error 获得小组统计信息 fastdfs_tracker_list_groups([string group_name, array tracker_server]) 返回值:array parameters: group_name: specify the group name, null or empty string means all groups tracker_server: the tracker server assoc array including elements: ip_addr, port and sock return index array for success, false for error, each group as a array element 获取storage信息 fastdfs_tracker_query_storage_store([string group_name, array tracker_server]) 返回值:array parameters: group_name: specify the group name tracker_server: the tracker server assoc array including elements: ip_addr, port and sock return assoc array for success, false for error. the assoc array including elements: ip_addr, port, sock and store_path_index 连接所有的tracker fastdfs_tracker_make_all_connections() 返回值:boolean return true for success, false for error获取存储服务器的信息: fastdfs_tracker_query_storage_store([string group_name, array tracker_server]) 返回值:array parameters: group_name: specify the group name tracker_server: the tracker server assoc array including elements: ip_addr, port and sock return assoc array for success, false for error. the assoc array including elements: ip_addr, port, sock and store_path_index 获取上传服务器的信息列表: fastdfs_tracker_query_storage_store_list([string group_name, array tracker_server]) 返回值:array parameters: group_name: specify the group name tracker_server: the tracker server assoc array including elements: ip_addr, port and sock return indexed storage server array for success, false for error. each element is an ssoc array including elements: ip_addr, port, sock and store_path_index 删除一个存储服务器: fastdfs_tracker_delete_storage(string group_name, string storage_ip) 返回值:boolean parameters: group_name: the group name of the storage server storage_ip: the ip address of the storage server to be deleted return true for success, false for error 实例: 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);