您的位置:首页 > 其它

测试阿里云OSS

2016-05-26 09:25 239 查看
说明:开通阿里云OSS,下载PHP SDK,修改信息

<?php
//conf.inc.php
define('OSS_ACCESS_ID', '你的ID');
define('OSS_ACCESS_KEY', '你的KEY');
define('OSS_ENDPOINT', 'oss-cn-hongkong.aliyuncs.com');//所在区域,本站在香港空间,选择相应的
define('OSS_TEST_BUCKET', 'phplee'); //默认BUCKET,自己在OSS上创建一个,然后再这里设置
?>


在根目录下创建一个index.php

<?php
require_once './sdk.class.php';
require_once './util/oss_util.class.php';

//关于endpoint的介绍见, endpoint就是OSS访问的域名
//http://docs.aliyun.com/?spm=5176.7114037.1996646101.11.XMMlZa&pos=6#/oss/product-documentation/domain-region
class SampleUtil
{
const endpoint = OSS_ENDPOINT;
const accessKeyId = OSS_ACCESS_ID;
const accesKeySecret = OSS_ACCESS_KEY;
const bucket = OSS_TEST_BUCKET;

public static function get_oss_client() {
$oss = new ALIOSS(self::accessKeyId, self::accesKeySecret, self::endpoint);
return $oss;
}

public static function my_echo($msg) {
$new_line = " \n";
echo $msg . $new_line;
}

public static function get_bucket_name() {
return self::bucket;
}

public static function create_bucket() {
$oss = self::get_oss_client();
$bucket = self::get_bucket_name();
$acl = ALIOSS::OSS_ACL_TYPE_PUBLIC_READ;
$res = $oss->create_bucket($bucket, $acl);
$msg = "创建bucket " . $bucket;
OSSUtil::print_res($res, $msg);
}

}
//初始化
header("Content-Type: text/html; charset=UTF-8");
date_default_timezone_set('Asia/Shanghai');

$oss = SampleUtil::get_oss_client();
$bucket = SampleUtil::get_bucket_name();

exit;
//上传图片
$object = "test/a.jpg";
$file_path = './1.jpg';
$url="http://".OSS_TEST_BUCKET.".".OSS_ENDPOINT."/".$object;
$options = array();
$res = $oss->upload_file_by_file($bucket, $object, $file_path, $options);
$msg = "上传本地文件 :" . $file_path . " 到 /" . $bucket . "/"
. $object."  url:".$url;
OSSUtil::print_res($res, $msg);
echo "<img src=\"".$url."\">";

exit;
//创建文件夹
$object = "test";
$res = $oss->create_object_dir($bucket, $object);
$msg = "创建模拟文件夹 /" . $bucket . "/" . $object;
OSSUtil::print_res($res, $msg);

exit;
//列出Bucket内所有文件 递归列出目录下所有文件
$prefix = '';
$marker = '';
$delimiter = '';
$next_marker = '';
$maxkeys = 1000;
$index = 1;
while (true)
{
$options = array(
'delimiter' => $delimiter,
'prefix' => $prefix,
'max-keys' => $maxkeys,
'marker' => $next_marker,
);
$res = $oss->list_object($bucket, $options);
$msg = "列出Bucket内所有文件" . $bucket;
OSSUtil::print_res($res, $msg);
if ($res->isOk()){
$body = $res->body;
$tmp_object_list = OSSUtil::get_object_list_marker_from_xml($body, $next_marker);
//打印出所有的object名称
foreach ($tmp_object_list as $key) {
SampleUtil::my_echo("No. " . $index . "
; : " . $key."<br />");
$index++;
}
}
if (empty($next_marker))
{
break;
}
}

exit;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: