Todos los productos
Search
Centro de documentos

Object Storage Service:Descargue a la memoria local (PHP SDK V1)

Última actualización: Sep 22, 2026

En este tema se describe cómo usar el PHP SDK para descargar un archivo específico a la memoria local.

Notas

  • En este tema se utiliza el endpoint público de la región China (Hangzhou). Para acceder a OSS desde otros servicios de Alibaba Cloud en la misma región, use un endpoint interno. Para obtener más información sobre las regiones y los endpoints compatibles, consulte Regions and endpoints.

  • Este tema muestra cómo crear una instancia de OSSClient con un endpoint de OSS. Para conocer configuraciones alternativas, como usar un dominio personalizado o autenticarse con credenciales de Security Token Service (STS), consulte Create an OssClient.

Permisos

De forma predeterminada, una cuenta de Alibaba Cloud tiene todos los permisos. Los usuarios o roles de RAM asociados a una cuenta de Alibaba Cloud no cuentan con ningún permiso de manera predeterminada. La cuenta de Alibaba Cloud o su administrador deben otorgar los permisos de operación mediante RAM policies o Bucket Policy.

API

Action

Descripción

GetObject

oss:GetObject

Descarga un objeto.

oss:GetObjectVersion

Este permiso es obligatorio cuando se descarga un objeto y se especifica su versión mediante versionId.

kms:Decrypt

Este permiso es obligatorio cuando se descarga un objeto cuyos metadatos incluyen X-Oss-Server-Side-Encryption: KMS.

Código de ejemplo

A continuación se muestra cómo descargar un objeto específico de OSS a la memoria local e imprimir su contenido:

<?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

Los datos almacenados en la memoria son volátiles y se pierden si se interrumpe la alimentación eléctrica. Para guardar el archivo descargado en un disco local, consulte Download to a local file.