Cara Praktis Integrasi Object Storage dengan PHP

Halo DomaiNesians! Apakah kamu pengguna PHP yang ingin menyimpan file ke cloud tanpa ribet? Saat membuat aplikasi berbasis PHP, baik itu CMS, e-commerce, maupun web kustom, pasti ada saatnya kamu butuh sistem penyimpanan file yang fleksibel. Menyimpan semua file di server lokal tentu bukan solusi jangka panjang. Nah, di sinilah Object Storage dari DomaiNesia hadir sebagai jawaban.
Dengan dukungan protokol S3, kamu bisa menggunakan AWS SDK PHP untuk mengintegrasikan langsung layanan Object Storage dengan PHP kamu. Di panduan ini, kamu bakal belajar langkah demi langkah: mulai dari setting SDK, nyambung ke bucket, sampai cara upload dan download file. Bonusnya, kami juga bahas gimana caranya melihat daftar file yang sudah ada di bucket kamu.
Artikel ini dibuat dengan pendekatan ramah pemula. Bahkan kalau kamu baru pertama kali mencoba Object Storage, kamu tetap bisa mengikuti langkah-langkahnya dengan mudah. Semua kode contoh sudah disiapkan dan bisa langsung dijalankan di shared hosting atau VPS.
Yuk, cari tahu gimana cara kerja Object Storage dengan PHP supaya aplikasi kamu jadi lebih ringan, fleksibel, dan siap tumbuh bareng kebutuhan pengguna.

Apa itu PHP?
PHP mungkin salah satu bahasa pemrograman web yang paling lama eksis, tapi jangan salah, dia masih jadi tulang punggung banyak website di dunia, termasuk WordPress! Kelebihannya? Simpel, mudah dipelajari, dan punya komunitas besar.
Kalau kamu sudah terbiasa membuat website dengan PHP, kamu juga bisa menyimpan file langsung ke Object Storage tanpa harus pakai hosting besar-besaran. Supaya lebih mudah terhubung ke Object Storage, kamu akan memanfaatkan SDK khusus. Dengan bantuan tools ini, proses integrasi Object Storage dengan PHP jadi jauh lebih simpel dan tidak ribet.
Panduan Integrasi Object Storage dengan PHP
Sebelum mulai ngoding, ada beberapa hal yang perlu kamu siapin dulu nih:
- Akun DomaiNesia – kamu harus mendaftar di DomaiNesia dan mendapatkan akses ke Object Storage. Setelah itu, buatlah sebuah bucket tempat kamu menyimpan file.
- Bucket – ini semacam “lemari penyimpanan” tempat file-file kamu disimpan di Object Storage.
- API Key dan Secret Key – seperti pada integrasi lainnya, kamu memerlukan kredensial ini untuk mengakses Object Storage. Pastikan kamu sudah menyalin kredensial ini dari dashboard DomaiNesia.
- PHP – pastikan kamu sudah menginstal PHP versi 7.0 atau lebih baru. Kamu bisa mengecek versi PHP yang terpasang di sistemmu dengan perintah
php -v
di terminal. - Library
aws-sdk-php
– untuk bisa terhubung dan berkomunikasi dengan Object Storage DomaiNesia, kamu akan menggunakan library bernamaaws-sdk-php
. Library ini umum dipakai untuk layanan penyimpanan berbasis S3. Install dengan perintah berikut:
1 |
composer require aws/aws-sdk-php |
1. Menyiapkan Koneksi ke Object Storage DomaiNesia
Setelah memastikan semua prasyarat siap, saatnya mulai menyiapkan koneksi ke Object Storage DomaiNesia menggunakan aws-sdk-php pastikan script ini berada dalam setiap filemu yang akan digunakan untuk integrasi object storage dengan php. Berikut adalah cara untuk melakukannya:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<?php require 'vendor/autoload.php'; // Pastikan semua paket yang dibutuhkan lewat Composer sudah terpasang, termasuk SDK yang akan digunakan untuk akses Object Storage. use Aws\S3\S3Client; // Mengimpor class untuk koneksi S3 use Aws\Exception\AwsException; // Import juga class khusus buat menangani error dari AWS, biar kalau ada kendala bisa langsung ditangani // Konfigurasi kredensial dan endpoint $accessKey = 'isi_dengan_access_key_kamu'; // Ganti dengan Access Key kamu $secretKey = 'isi_dengan_secret_key_kamu'; // Ganti dengan Secret Key kamu $endpointUrl = 'https://s3.nevaobjects.id'; // Endpoint S3 dari DomaiNesia $bucketName = 'nama-bucket-kamu'; // Nama bucket tujuan // Menyiapkan koneksi dengan S3 $s3 = new S3Client([ 'region' => 'us-east-1', // Wilayah default (boleh tetap ini untuk DomaiNesia) 'version' => 'latest', // Versi API S3 yang digunakan 'credentials' => [ 'key' => $accessKey, 'secret' => $secretKey, ], 'endpoint' => $endpointUrl, // Endpoint S3 (DomaiNesia) 'use_path_style_endpoint' => true, // Wajib true untuk kompatibilitas endpoint S3 kustom ]); ?> |
Penjelasan:
S3Client
– membuat klien untuk menghubungkan aplikasi PHP ke Object Storage DomaiNesia.credentials
– menyediakan kredensial (Access Key dan Secret Key) yang kamu dapatkan dari DomaiNesia.endpoint
– ini URL khusus dari DomaiNesia yang dipakai buat akses layanan Object Storage.
2. Upload File ke Object Storage
Sekarang kamu akan mengupload file ke bucket di DomaiNesia menggunakan PHP, buat file PHP untuk menyimpan script upload ini, contohnya upload_s3.php
. Berikut adalah contoh script untuk mengupload file nama_file_kamu ke bucket:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
// Fungsi upload file function uploadFile($s3, $filePath, $bucket, $objectName) { try { // Upload file ke S3 $result = $s3->putObject([ 'Bucket' => $bucket, // Nama bucket tujuan 'Key' => $objectName, // Nama file di dalam bucket 'SourceFile' => $filePath, // Path file lokal yang akan diupload ]); echo 'File berhasil diupload: ' . $result['ObjectURL'] . "\n"; // Menampilkan URL file yang diupload } catch (AwsException $e) { echo "Terjadi error: " . $e->getMessage() . "\n"; // Menampilkan pesan error jika gagal } } // Menentukan file dan object name $filePath = 'contoh.txt'; // Nama file yang ada di direktori lokal (server) $objectName = 'folder/contoh.txt'; // Nama dan lokasi file yang diinginkan di dalam bucket (misalnya dalam folder) // Upload file uploadFile($s3, $filePath, $bucketName, $objectName); // Memanggil fungsi uploadFile untuk mengunggah file ke bucket ?> |
Berikut contoh hasil penerapan script tersebut:
Penjelasan:
putObject()
– digunakan untuk mengupload file ke bucket.SourceFile
-menunjukkan file lokal yang akan diupload ke Object Storage.

3. Download File dari Object Storage
Setelah file berhasil diupload, kamu bisa mendownloadnya kapan saja dengan menggunakan file download_s3.php
contohnya. Berikut ini contoh bagaimana cara mengambil file dari Object Storage dan menyimpannya ke server kamu menggunakan PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
// Fungsi download file function downloadFile($s3, $bucket, $objectName, $downloadPath) { try { // Mendownload file dari S3 $result = $s3->getObject([ 'Bucket' => $bucket, // Nama bucket asal 'Key' => $objectName, // Nama file yang ingin didownload ]); // Menyimpan file ke lokal file_put_contents($downloadPath, $result['Body']); // Menyimpan isi file ke file lokal echo 'File berhasil didownload: ' . $downloadPath . "\n"; // Notifikasi sukses } catch (AwsException $e) { echo "Terjadi error: " . $e->getMessage() . "\n"; // Menampilkan error jika terjadi } } // Menentukan nama bucket dan file $bucketName = 'nama-bucket-kamu'; // Nama bucket, yaitu tempat di mana file kamu disimpan di Object Storage $objectName = 'folder/contoh.txt'; // Lokasi dan nama file di dalam bucket $downloadPath = 'hasil-download.txt'; // Nama file lokal, yaitu nama file hasil download yang akan disimpan di server kamu // Download file downloadFile($s3, $bucketName, $objectName, $downloadPath); // Memanggil fungsi downloadFile ?> |
Berikut contoh hasil jika menerapkan script tersebut:
Penjelasan:
getObject()
– mengambil file dari Object Storage dan mengembalikannya sebagai objek.file_put_contents()
– proses menyimpan file dari Object Storage ke file lokal di server.
4. Menampilkan Daftar File dalam Bucket
Kalau kamu pengen lihat daftar semua file dalam bucket, kamu bisa pakai fungsi listObjectsV2
. Berikut adalah contoh script untuk menampilkan daftar file:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
// Fungsi untuk menampilkan daftar file function listFiles($s3, $bucket) { try { // Mendapatkan daftar objek di dalam bucket $result = $s3->listObjectsV2([ 'Bucket' => $bucket, ]); // Menampilkan daftar file foreach ($result['Contents'] as $object) { echo $object['Key'] . "\n"; } } catch (AwsException $e) { echo "Terjadi error: " . $e->getMessage() . "\n"; } } // Menampilkan daftar file $bucketName = 'nama-bucket-kamu'; listFiles($s3, $bucketName); ?> |
Berikut contoh hasil penerapannya:
Penjelasan:
listObjectsV2()
– mengambil daftar objek yang ada di bucket.object['Key']
– fungsi ini akan menampilkan nama-nama file yang tersimpan di dalam bucket kamu.
Dengan mengikuti langkah-langkah di atas, kamu sudah dapat mengintegrasikan Object Storage dengan PHP. Setelah semuanya siap, kamu sudah bisa mulai upload, download, dan kelola file dengan lebih praktis dan efisien! Layanan ini akan sangat berguna untuk aplikasi yang membutuhkan penyimpanan cloud yang scalable.

Kesimpulan
Sekarang kamu sudah tahu bahwa Object Storage dengan PHP bisa jadi pasangan yang solid untuk menyimpan file secara cloud. Baik itu upload, download, hingga melihat daftar file, semuanya bisa kamu kelola dari aplikasi PHP-mu.
Jangan ragu untuk menggunakan fitur ini dalam berbagai proyek, terutama jika kamu ingin file tetap aman dan tidak membebani server hosting utama. Ingin mulai sekarang? Gunakan Object Storage DomaiNesia dan nikmati penyimpanan fleksibel dan ekonomis!