Todos os produtos
Search
Central de documentação

Object Storage Service:Download to local memory (PHP SDK V1)

Última atualização: Sep 22, 2026

Este tópico descreve como usar o PHP SDK para baixar um arquivo específico para a memória local.

Observações

  • Este tópico utiliza o endpoint público HTTP da região china (Hangzhou). Para acessar o OSS a partir de outros service da alibaba cloud na mesma região, use um endpoint interno. Para obter detalhes sobre as regiões e endpoints compatíveis, consulte Regions and endpoints.

  • Este tópico demonstra como criar uma instância do OSSClient com um endpoint do OSS. Para configurações alternativas, como o uso de um domínio personalizado ou a autenticação com credenciais do Security Token service (STS), consulte Crie um OssClient.

Permissões

Por padrão, uma conta alibaba cloud possui permissões totais. Usuários ou funções do RAM em uma conta alibaba cloud não possuem permissões por padrão. A conta alibaba cloud ou o administrador da conta deve conceder as permissões de operação por meio de RAM policies ou Bucket Policy.

API

Ação

Descrição

GetObject

oss:GetObject

Baixa um objeto.

oss:GetObjectVersion

Ao baixar um objeto, especifique a versão do objeto por meio do versionId para que esta permissão seja exigida.

kms:Decrypt

Ao baixar um objeto, se os metadados do objeto contiverem X-Oss-Server-Side-Encryption: KMS, essa permissão será necessária.

Código de exemplo

O código a seguir mostra como baixar um objeto específico do OSS para a memória local e imprimir seu conteúdo:

<?php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}
use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;

// Obtain access credentials from environment variables. Before you run this sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
$provider = new EnvironmentVariableCredentialsProvider();
// The Endpoint is set to China (Hangzhou) in this example. Specify the actual Endpoint.
$endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
$bucket= "yourBucketName";
// The object name.
$object = "yourObjectName";
try{
    $config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,
        "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
        "region"=> "cn-hangzhou"
    );
    $ossClient = new OssClient($config);

    $content = $ossClient->getObject($bucket, $object);
} catch(OssException $e) {
    printf(__FUNCTION__ . ": FAILED\n");
    printf($e->getMessage() . "\n");
    return;
}
print($content);
print(__FUNCTION__ . ": OK" . "\n");
        
Nota

Os dados armazenados na memória são voláteis e são perdidos em caso de queda de energia. Salve o arquivo baixado em um disco local; para isso, consulte Download to a local file.