| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | <?php//=============================================================================//How to use credentials-php to access oss// step 1:Install credentials-php  composer require alibabacloud/credentialsrequire_once __DIR__ . '/Common.php';use OSS\OssClient;use OSS\Core\OssException;use OSS\Credentials\CredentialsProvider;use AlibabaCloud\Credentials\Credential;use OSS\Credentials\StaticCredentialsProvider;// public provider conversion classclass AlibabaCloudCredentialsWrapper implements CredentialsProvider{    /**     * @var Credential     */    private $warpper;    public function __construct($credential){        $this->warpper = $credential;    }    public function getCredentials(){        $ak = $this->warpper->getAccessKeyId();        $sk = $this->warpper->getAccessKeySecret();        $token = $this->warpper->getSecurityToken();        return new StaticCredentialsProvider($ak, $sk, $token);    }}$bucket = Common::getBucketName();//AccessKey Credentials demo$credential = new Credential(array(    'type'              => 'access_key',    'access_key_id'     => '<access_key_id>',    'access_key_secret' => '<accessKey_secret>',));$providerWarpper = new AlibabaCloudCredentialsWrapper($credential);$config = array(    'provider' => $providerWarpper,    'endpoint'=> '<endpoint>');try {    $ossClient = new OssClient($config);    $ossClient->putObject($bucket,'c.file','hi oss,this is credentials test of access key');    $result = $ossClient->getObject($bucket,'c.file');    var_dump($result);} catch (OssException $e) {    printf($e->getMessage() . "\n");    return;}// EcsRamRole Credentials demo$ecsRamRole = new Credential(array(    'type'      => 'ecs_ram_role',    'role_name' => 'EcsRamRoleOssTest',));$providerWarpper = new AlibabaCloudCredentialsWrapper($ecsRamRole);$bucket = 'oss-bucket-cd-yp-test';$config = array(    'provider' => $providerWarpper,    'endpoint'=> '<endpoint>');try {    $ossClient = new OssClient($config);    $ossClient->putObject($bucket,'c.file','hi oss,this is credentials test of EcsRamRole');    $result = $ossClient->getObject($bucket,'c.file');    var_dump($result);} catch (OssException $e) {    printf($e->getMessage() . "\n");    return;}
 |