全部产品
Search
文档中心

Object Storage Service:Hapus objek menggunakan OSS SDK untuk PHP 2.0

更新时间:Aug 06, 2025

Topik ini menjelaskan cara menghapus objek menggunakan Object Storage Service (OSS) SDK untuk PHP.

Catatan penggunaan

  • Kode contoh dalam topik ini menggunakan ID wilayah cn-hangzhou dari Wilayah Hangzhou, Tiongkok. Secara default, titik akhir publik digunakan untuk mengakses sumber daya dalam bucket. Jika Anda ingin mengakses sumber daya di bucket dari layanan Alibaba Cloud lainnya di wilayah yang sama dengan bucket tersebut, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang wilayah dan titik akhir OSS, lihat Wilayah dan titik akhir.

  • Untuk menghapus objek, Anda harus memiliki izin oss:DeleteObject. Untuk informasi lebih lanjut, lihat Lampirkan kebijakan kustom ke Pengguna RAM.

Kode contoh

Berikut adalah kode contoh untuk menghapus objek menggunakan OSS SDK untuk PHP.

<?php

// Memperkenalkan file autoload untuk memuat pustaka dependensi.
require_once __DIR__ . '/../vendor/autoload.php';

use AlibabaCloud\Oss\V2 as Oss;

// Mendefinisikan dan menjelaskan parameter baris perintah.
$optsdesc = [
    "region" => ['help' => 'Wilayah tempat bucket berada.', 'required' => True], // (Diperlukan) Tentukan wilayah tempat bucket berada.
    "endpoint" => ['help' => 'Nama domain yang dapat digunakan layanan lain untuk mengakses OSS.', 'required' => False], // (Opsional) Tentukan titik akhir yang dapat digunakan oleh layanan lain untuk mengakses OSS.
    "bucket" => ['help' => 'Nama bucket', 'required' => True], // (Diperlukan) Tentukan nama bucket.
    "key" => ['help' => 'Nama objek', 'required' => True], // (Diperlukan) Tentukan nama objek.
];

// Mengonversi deskripsi menjadi daftar opsi panjang yang diperlukan oleh getopt.
// Tambahkan titik dua (:) di akhir setiap parameter untuk menunjukkan bahwa nilai diperlukan.
$longopts = \array_map(function ($key) {
    return "$key:";
}, array_keys($optsdesc));

// Menguraikan argumen baris perintah.
$options = getopt("", $longopts);

// Periksa apakah parameter yang diperlukan telah dikonfigurasi.
foreach ($optsdesc as $key => $value) {
    if ($value['required'] === True && empty($options[$key])) {
        $help = $value['help']; // Dapatkan informasi bantuan untuk parameter.
        echo "Error: argumen berikut diperlukan: --$key, $help" . PHP_EOL;
        exit(1); // Keluar dari program jika parameter yang diperlukan tidak ada.
    }
}

// Tetapkan nilai yang diurai dari parameter baris perintah ke variabel yang sesuai.
$region = $options["region"]; // Wilayah tempat bucket berada.
$bucket = $options["bucket"]; // Nama bucket.
$key = $options["key"]; // Nama objek.

// Memuat kredensial akses dari variabel lingkungan.
// Gunakan EnvironmentVariableCredentialsProvider untuk mengambil ID AccessKey dan Rahasia AccessKey dari variabel lingkungan.   
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();

// Gunakan konfigurasi default dari SDK.
$cfg = Oss\Config::loadDefault();
$cfg->setCredentialsProvider($credentialsProvider); // Tentukan penyedia kredensial.
$cfg->setRegion($region); // Tentukan wilayah tempat bucket berada.
if (isset($options["endpoint"])) {
    $cfg->setEndpoint($options["endpoint"]); // Tentukan titik akhir jika disediakan.
}

// Buat instance OSSClient.
$client = new Oss\Client($cfg);

// Buat objek DeleteObjectRequest untuk menghapus objek yang ditentukan.
$request = new Oss\Models\DeleteObjectRequest(bucket: $bucket, key: $key);

// Hapus objek.
$result = $client->deleteObject($request);

// Tampilkan hasil operasi penghapusan objek.
// Tampilkan kode status HTTP dan ID permintaan untuk memeriksa apakah permintaan berhasil.
printf(
    'kode status:' . $result->statusCode . PHP_EOL . // Kode status HTTP. Misalnya, kode status HTTP 204 menunjukkan bahwa penghapusan berhasil.
    'ID permintaan:' . $result-> requestId. PHP_EOL // ID permintaan, yang digunakan untuk debugging atau melacak permintaan.
);

Referensi

  • Untuk kode contoh lengkap yang digunakan untuk menghapus objek, kunjungi GitHub.