文件存储服务

更新时间:2015/09/18 访问次数:14612

文件存储服务简介

TAE文件存储服务采用阿里云开放存储服务(Open Storage Service,简称OSS)来支持任意数据类型的存储,支持任意时间、地点的数据上传和下载。OSS中每个存储对象(object)由名称、内容、描述三部分组成。通过OSS可以获得更稳定更安全的存储服务,使开发大容量和高并发系统变得更容易。

API

方法

参数

返回值

说明

get

$object
[, $path]

boolean|string 失败返回false,如果传入$path成功返回true,未传$path则成功返回文件内容

本方法将取出$object的内容并保存到$path的路径。 
$object为要取出的对象的名称,$path为要保存的本地路径

getMeta

$object

array

取得文件的元信息

saveText

$object, 
$content
[, $exp]

boolean

将$content的内容保存到名为$object的位置,
$exp为过期时间

saveFile

$object, 
$file

boolean

将本地文件$file上传到$object的位置

fileExists

$object

boolean

检查$object是否存在

delete

$object

boolean

删除$object

move

$from, $to

boolean

将Storage上的文件$from移动到$to的位置($to是新的文件名)

copy

$from, $to

boolean

将Storage上的文件$from复制到$to的位置($to是新的文件名)

listObject

$prefix, $maxkeys

boolean

显示storage上$prefix目录下的文件,最多显示$maxkeys个文件(不能超过100)

使用DEMO

	//用法一(使用默认别名):

	$object = Alibaba::Storage()->get('object');

	 

	# 在使用命名空间 (namespace) 时, 记得加 "\"

	$Storage = \Alibaba::Storage();

	 

	//用法二:

	$Storage = Alibaba::Storage('别名');

	$res = $Storage->saveText("_the_test_case_key", "anything", 30); // 30s 过期,可不填,意为永不过期

	echo '通过文本上传文件:';

	var_dump($res);

	 

	echo '检查文件是否存在:';

	$res = $Storage->fileExists("显然不存在的object");

	var_dump($res);

	$res = $Storage->fileExists("_the_test_case_key");

	var_dump($res);

	 

	echo '取得meta信息:';

	$res = $Storage->getMeta("_the_test_case_key");

	var_dump($res);

	 

	echo '通过本地文件上传文件:';

	$res = $Storage->saveFile("_the_test_case_key", "./1.txt");

	var_dump($res);

	 

	echo '拷贝文件(预期成功):';

	$res = $Storage->move("_the_test_case_key", "_the_test_case_key_1");

	var_dump($res);

	 

	echo '删除:';

	$res = $Storage->delete("_the_test_case_key");

	var_dump($res);

	 

	echo '移动文件(预期失败):';

	$res = $Storage->move("_the_test_case_key", "_the_test_case_key_1");

	var_dump($res);

	 

	echo '获取 object:';

	$res = $Storage->get("_the_test_case_key_1");

	 

	 

	echo '获取文件内容保存到指定文件:';

	// 这里注意, 如果 "_the_test_case_key_1" 不存在, 那么 "/tmp/my.file" 会被删除

	$res = $Storage->get("_the_test_case_key_1", "/tmp/my.file");

	if($res) {

	    echo '获取文件成功.';

	}

	 

	echo '删除:';

	$res = $Storage->delete("_the_test_case_key_1");

	 

	echo '列出 webroot 下的目录和文件';

	$res = $Storage->listObject('webroot/', 30);  //显示storage上webroot目录下的文件,最多显示30个文件,显示根目录则填写空字符串

	 

	echo '列出 web 为前缀的文件和目录';

	$res = $Storage->listObject('web', 30);  // 这边会显示根目录下所有以 web 开头的文件和目录

使用自购OSS

	$config = array(

	        'id'     => '',

	        'key'    => '',

	        'bucket' => ''

	    );

	    $cache = Alibaba::Storage($config);

	注意目前非杭州机房以外的 oss 帐号支持不完全可行,可尝试设置 endpoint:

	$config = array(

	    'id'     => 'xx',

	    'key'    => 'xx',

	    'bucket' => 'xx',

	    'endpoint' => 'oss.aliyuncs.com'
	);
	$cache = Alibaba::Storage($config);

FAQ

关于此文档暂时还没有FAQ
返回
顶部