首先您需要在阿里云中建立一个帐户。建立好帐户后,在管理控制台获取OSS的密钥。
在使用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 = new ALIOSS($creds->getCredential('oss', 'access_id'),$creds->getCredential('oss', 'access_key'));
使用这种方法需要花多一点时间来设置您的代码,但是一旦完成了此项工作,您就在一个位置一次性地定义了您的OSS密钥。如果需要修改它们,您就不必在每个PHP文件中进行修改。
原文地址:
PHP实现阿里云存储OSS
参考示例:
阿里云存储图片上传
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。