All Products
Search
Document Center

Object Storage Service:Simple upload (PHP SDK V1)

Last Updated:Sep 10, 2026

Simple upload memungkinkan Anda mengunggah konten sebagai string atau dari file lokal. Topik ini menyediakan contoh kode untuk string upload dan file upload.

Catatan penggunaan

  • Pada topik ini digunakan titik akhir publik wilayah China (Hangzhou). Untuk mengakses OSS dari layanan Alibaba Cloud lainnya dalam wilayah yang sama, gunakan titik akhir internal. Untuk informasi selengkapnya mengenai wilayah dan titik akhir yang didukung, lihat Regions and endpoints.

  • Topik ini menunjukkan cara membuat instans OSSClient dengan titik akhir OSS. Untuk konfigurasi alternatif, seperti penggunaan domain kustom atau autentikasi menggunakan kredensial dari Security Token Service (STS), lihat Create an OssClient.

  • Objek yang diunggah menggunakan simple upload tidak boleh melebihi 5 GB.

Permissions

Secara default, Akun Alibaba Cloud memiliki izin penuh. Pengguna RAM atau Peran RAM di bawah Akun Alibaba Cloud tidak memiliki izin apa pun secara default. Akun Alibaba Cloud atau administrator akun harus memberikan izin operasi melalui RAM policies atau Bucket Policy.

API

Action

Description

PutObject

oss:PutObject

Mengunggah objek.

oss:PutObjectTagging

Diperlukan jika Anda menentukan tag objek menggunakan header x-oss-tagging saat mengunggah objek.

kms:GenerateDataKey

Diperlukan jika header X-Oss-Server-Side-Encryption: KMS diatur ke KMS saat Anda mengunggah objek.

kms:Decrypt

Upload string

Contoh kode berikut menunjukkan cara mengunggah string ke objek exampledir/exampleobject.txt di bucket examplebucket.

<?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;
use OSS\Core\OssException;
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
$provider = new EnvironmentVariableCredentialsProvider();
// Tetapkan yourEndpoint ke titik akhir wilayah bucket Anda. Misalnya, jika bucket berada di wilayah China (Hangzhou), tetapkan titik akhir ke https://oss-cn-hangzhou.aliyuncs.com.
$endpoint = "yourEndpoint";
// Tetapkan nama bucket. Misalnya, examplebucket.
$bucket= "examplebucket";
// Tetapkan path lengkap objek. Path tidak boleh mencakup nama bucket. Misalnya, exampledir/exampleobject.txt.
$object = "exampledir/exampleobject.txt";
// String yang akan diunggah.
$content = "Hello OSS";

// Anda dapat menentukan header saat mengunggah string. Misalnya, atur ACL ke private atau tambahkan metadata kustom.
$options = array(
    OssClient::OSS_HEADERS => array(
        'x-oss-object-acl' => 'private',
        'x-oss-meta-info' => 'yourinfo'
    ),
);
try{
    $config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,
        "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
        "region"=> "cn-hangzhou"
    );
    $ossClient = new OssClient($config);

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

Upload file

Kode contoh berikut menunjukkan cara mengunggah file lokal bernama examplefile.txt ke direktori exampledir di bucket examplebucket. Setelah diunggah, objek tersebut akan diberi nama exampleobject.txt di direktori exampledir.

<?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;
use OSS\Core\OssException;

// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
$provider = new EnvironmentVariableCredentialsProvider();
// Tetapkan yourEndpoint ke titik akhir wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), tetapkan titik akhir ke https://oss-cn-hangzhou.aliyuncs.com.
$endpoint = "yourEndpoint";
// Tetapkan nama bucket. Misalnya, examplebucket.
$bucket= "examplebucket";
// Tetapkan path lengkap objek. Path tidak boleh mencakup nama bucket. Misalnya, exampledir/exampleobject.txt.
$object = "exampledir/exampleobject.txt";
// Tetapkan path lengkap ke file lokal. Misalnya, D:\\localpath\\examplefile.txt. Jika Anda menghilangkan path, file diunggah dari direktori root proyek.
$filePath = "D:\\localpath\\examplefile.txt";

try{
    $config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,
        "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
        "region"=> "cn-hangzhou"
    );
    $ossClient = new OssClient($config);

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