一分钟了解阿里云产品:PHP实现阿里云存储OSS-阿里云开发者社区

开发者社区> 云计算> 正文
登录阅读全文

一分钟了解阿里云产品:PHP实现阿里云存储OSS

简介:

OSS发布一段时间了,下面我来说说应用OSS的一方面体验吧。

首先需要在阿里云中建立一个帐户。建立好帐户后,在管理控制台获取OSS的密钥。

dcd31b9aea5938ab92f647e512c17c070cd19bad

 

在使用OSS时,我的PHP页面需要这些密钥值。管理这些信息的一种方法就是将这些密钥值放到我的代码里。

 

例1: 在PHP代码中存储OSS密钥。

//ACCESS_ID

define('OSS_ACCESS_ID', '8k7tbj64zwxpfq50');

 

//ACCESS_KEY

define('OSS_ACCESS_KEY', 'qvD Gyji7AiMePs8dg=');

 

这种方法是有效的,但是我们必须将代码放入到每一个有需要的PHP文件中。更好的做法是将这些密钥值放入到一个oss.ini文件,该文件类似例2所示:

 

例2: 在oss.ini中存储OSS密钥。

[oss]

access_id="8k7tbj64zwxpfq50"

access_key="qvD Gyji7AiMePs8dg="

[oss2]

access_id="lo90jhgj64zwxpkkjkdui5"

access_key="qvD Gyji7AiMePs8dgasgade"

 

一个简单的PHP类可以轻松地处理这些值:

 

例3: 用于检索OSS密钥的简单PHP类:(Credentials.php)。

 

//Simple class to retrieve credentials from an .ini file

class Credentials

{

  var $key_array;

  function Credentials(){

    $this -> key_array = parse_ini_file("oss.ini", true);

  }

  function getCredential($group, $key){

    return $this -> key_array[$group][$key];

  }

}

 

该类使用PHP parse_ini_file()函数读取.ini文件格式的值。此函数的第一个参数必需,规定要检查的ini文件;第二个参数可选,如果设置为 true,则返回一个多维数组,包括了配置文件中每一节的名称和设置,默认是false。这意味着数组$key_array是一个二维数组。数组键为第一维的oss和oss2(可存放多个OSS帐户),以及第二维的 access_id、access_key等。Credentials类提供了getCredential()方法来从.ini文件检索值。与将凭证硬编码到每一个PHP文件相反,我们使用类似如下所示的代码:

 

例4: 创建和使用一个Credentials对象。

require_once 'oss_php_sdk/sdk.class.php';

require_once '../conf/Credentials.php';

$creds = new Credentials;

$oss_sdk_service=newALIOSS($creds->getCredential('oss','access_id'),

$creds->getCredential('oss', 'access_key'));

 

使用这种方法需要花多一点时间来设置我的代码,但是一旦完成了此项工作,我就在一个位置一次性地定义了我的OSS密钥。如果需要修改它们,我就不必在每个PHP文件中进行修改。

 

 

如果您想详细了解OSS,请访问:

https://bbs.aliyun.com/read/111669.html?pos=1

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章