测试阿里云OSS

来源:互联网 发布:博时大数据100好买 编辑:程序博客网 时间:2024/05/16 18:20

说明:开通阿里云OSS,下载PHP SDK,修改信息

<?php//conf.inc.phpdefine('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

<?phprequire_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-regionclass 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;



0 0
原创粉丝点击