Bikin fitur upload file di server itu kayak nyediain lemari di rumah. Awalnya lega, tapi begitu user mulai banyak upload foto dan dokumen, eh… kapasitas server tiba-tiba mentok. File dari pengguna menumpuk tanpa ampun, dan Anda mulai panik karena ruang penyimpanan makin menipis.
Tenang, ada cara yang jauh lebih rapi dan skalabel: Object Storage.
Dan di Indonesia, salah satu pilihan terbaiknya adalah Kilat Storage dari CloudKilat.
Di artikel ini, kita akan membangun aplikasi uploader file modern dengan PHP yang bisa:
- Upload file biasa lewat klik atau drag-and-drop.
- Paste gambar langsung dari clipboard (Ctrl+V).
- Menyimpan riwayat upload di browser.
- Menyimpan semua file langsung ke Kilat Storage, layanan Object Storage dengan API S3 yang andal, cepat, dan ramah di kantong.
Kenapa Memilih Layanan Kilat Storage?
Sebelum menyentuh kode, mari kita pahami kenapa Kilat Storage layak jadi pilihan utama.
- Skalabilitas Tanpa Drama – Simpan data dari gigabyte hingga petabyte tanpa takut kehabisan ruang.
- PUT/GET/DELETE Gratis – Operasi unggah, ambil, dan hapus file tidak dikenakan biaya tambahan, sehingga Anda bisa mengelola file sebanyak yang dibutuhkan tanpa khawatir ada biaya per request.
- Akses Super Cepat untuk Pengguna Indonesia – Server lokal berarti latensi rendah dan pengalaman yang lebih mulus.
- Keamanan & Ketersediaan Tinggi – Data direplikasi di beberapa perangkat, aman dari risiko kehilangan.
- Kompatibilitas S3 100% – Semua tools, SDK, dan kode yang berfungsi untuk AWS S3 bisa langsung jalan di Kilat Storage.
Singkatnya, Kilat Storage memberikan kekuatan infrastruktur kelas dunia, tapi dengan kecepatan lokal dan harga yang bersahabat.
Tutorial: Membangun Aplikasi Uploader ke Kilat Storage
1. Persiapan Akun & Kredensial
Pesan layanan Kilat Storage, lalu buat bucket untuk menyimpan file Anda.
Cara Memesan Layanan Kilat Storage
- Login ke Portal CloudKilat.
- Masuk ke menu Store → pilih Kilat Storage.
- Pilih paket yang sesuai, klik Order Now, lalu selesaikan proses checkout dan pembayaran.
- Setelah aktif, layanan akan muncul di Client Area Anda.
Jika belum familiar, Anda bisa mengikuti panduan berikut: Cara Memesan Layanan Kilat Storage
Membuat Bucket & Mendapatkan Kredensial
- Login ke portal, buka layanan Kilat Storage yang sudah aktif.
- Catat Endpoint URL, Access Key ID, dan Secret Access Key yang tersedia di halaman detail layanan.
- Akses Kilat Storage Anda melalui aplikasi S3 client, lalu buat bucket baru (nama unik, huruf kecil, tanpa spasi).
- Simpan semua informasi ini — akan menjadi “kunci” yang menghubungkan aplikasi PHP Anda ke bucket di Kilat Storage.
💡 Tip: Jika ingin mengelola file secara visual, Anda bisa menggunakan aplikasi S3 Browser. Masukkan Endpoint URL, Access Key ID, dan Secret Access Key sesuai panduan resmi untuk mulai mengunggah, mengunduh, atau menghapus file dengan mudah.
Panduan Lengkap Akses Kilat Storage dengan Aplikasi S3 Browser
2. Menyiapkan Proyek & Library
Agar aplikasi dapat berkomunikasi dengan Kilat Storage, kita membutuhkan AWS SDK for PHP. Library ini sepenuhnya kompatibel dengan layanan S3-compatible seperti Kilat Storage.
Langkah-langkah:
Buat folder proyek di komputer Anda, misalnya:
file-uploader-s3/Unduh AWS SDK for PHP melalui tautan resmi AWS:
Download AWS SDK for PHP (v3)Ekstrak file ZIP tersebut ke dalam folder proyek. Pastikan struktur folder terlihat seperti:
file-uploader-s3/ ├── aws/ ← folder AWS SDK ├── index.php ├── upload.php └── config.php
3. Membuat Tampilan Frontend (index.php)
Agar pengguna merasa nyaman saat mengunggah file, kita akan membuat tampilan yang modern, responsif, dan mudah digunakan.
Pada panduan ini, kita memanfaatkan Bootstrap 5 untuk menciptakan antarmuka yang bersih sekaligus mobile-friendly.
Halaman index.php ini akan berfungsi sebagai pusat interaksi pengguna, dengan fitur:
- Area Upload Interaktif – pengguna bisa klik untuk memilih file atau langsung paste gambar dari clipboard.
- Form Upload HTML Standar – menjaga kompatibilitas dengan browser dan perangkat apapun.
- Riwayat Upload di Browser – memudahkan pengguna melihat file yang sudah diunggah tanpa harus membuka halaman lain.
- JavaScript Dinamis – menampilkan notifikasi status upload, dan mengirim file ke backend secara mulus.
💡 Dengan kombinasi ini, proses upload terasa cepat dan intuitif.
📦 Unduh Contoh Lengkap
index.php
Untuk menghindari penjelasan yang terlalu panjang di artikel, kami menyediakan fileindex.phpsiap pakai yang bisa Anda unduh di sini: Download index.php
4. Menulis Backend Upload (upload.php)
Bagian backend ini adalah “mesin” yang menjalankan seluruh proses unggah di balik layar.
Tujuannya memastikan file yang dikirim dari frontend bisa sampai ke Kilat Storage dengan aman dan format yang sesuai.
Fungsi utama upload.php meliputi:
- Memuat AWS SDK – menyediakan fungsi dan kelas yang dibutuhkan untuk berinteraksi dengan layanan penyimpanan S3-compatible.
- Menerima File dari Form atau Clipboard – mendukung upload melalui input HTML standar maupun paste gambar langsung.
- Memvalidasi Ukuran & Tipe File – mencegah file yang terlalu besar atau format yang tidak diizinkan masuk ke server.
- Membuat Koneksi ke Kilat Storage – menggunakan
S3Clientuntuk otentikasi dan pengiriman data. - Mengunggah dengan
putObject– menyertakan pengaturan ACLpublic-readagar file bisa diakses publik, sertaContentTypeyang tepat agar browser mengenali jenis file dengan benar.
📦 Unduh Contoh Lengkap
upload.php
Download upload.php
5. Mengonfigurasi kredensial pada file config.php
Kredensial adalah “kunci” akses Anda ke Kilat Storage—maka harus dijaga agar tidak bocor.
Dengan memisahkannya ke file config.php, Anda:
- Meningkatkan Keamanan – kredensial tidak tercampur di logika utama, sehingga risiko terbuka di publik lebih kecil.
- Memudahkan Pengelolaan – jika ada perubahan access key atau secret key, cukup ubah di satu tempat.
- Mendukung Penggunaan di Banyak File – cukup include atau require
config.phpdi skrip yang memerlukan koneksi.
💡 Praktik ini adalah standar industri untuk menjaga keamanan aplikasi.
Isi config.php Anda bisa mengikuti contoh berikut:
<?php
// File untuk menyimpan konfigurasi dan kredensial S3
// JANGAN PERNAH UNGGAH FILE INI KE REPOSITORY PUBLIK (misal: GitHub)
// Sesuaikan nilai NAMA_BUCKET_ANDA, ACCESS_KEY_ANDA, dan SECRET_KEY_ANDA
return [
's3' => [
'endpoint' => 'https://s3-id-jkt-1.kilatstorage.id/',
'bucket_name' => 'NAMA_BUCKET_ANDA',
'region' => 'id-jkt-1',
'credentials' => [
'key' => 'ACCESS_KEY_ANDA',
'secret' => 'SECRET_KEY_ANDA',
],
'version' => 'latest', // Selalu gunakan versi SDK terbaru
],
'app' => [
'max_file_size' => 10 * 1024 * 1024, // 10 MB
'allowed_mimes' => [
'image/jpeg',
'image/png',
'application/pdf',
'application/vnd.openxmlformats-officedocument.wordprocessingml.document', // .docx
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', // .xlsx
]
]
];
Keterangan Penting:
endpoint– alamat server Kilat Storage (lokasi Jakarta:s3-id-jkt-1.kilatstorage.id).bucket_name– nama bucket yang sudah Anda buat di Kilat Storage.region– wilayah penyimpanan (id-jkt-1untuk lokasi Jakarta).credentials– pasangan Access Key ID dan Secret Access Key dari layanan Kilat Storage.max_file_size– batas ukuran file dalam byte (10 MB pada contoh ini).allowed_mimes– daftar tipe file yang diizinkan untuk diunggah.
📦 Unduh Contoh Lengkap
config.php
Download config.php
6. Menjalankan & Mengakses Aplikasi
Setelah semua file (index.php, upload.php, config.php, dan folder AWS SDK) sudah ada di server dan kredensial di config.php diisi, aplikasi siap dijalankan.
Langkah mengakses aplikasi:
- Upload seluruh folder proyek ke server atau hosting yang mendukung PHP 8.0+.
- Pastikan struktur folder tetap utuh, terutama folder
aws/dari AWS SDK. - Buka browser, lalu akses:
atau jika di localhost:
- Coba unggah file/gambar. Jika berhasil, Anda akan mendapatkan URL publik yang langsung bisa dibuka atau dibagikan.
- Riwayat file yang diunggah akan otomatis tersimpan di browser Anda (lokal), sehingga bisa diakses kembali sewaktu diperlukan.
💡 Jika ada error seperti “Access Denied” atau “The specified bucket does not exist”, pastikan `bucket_name` dan kredensial di `config.php` sudah benar.
Hasil Akhir
Sekarang, Anda telah memiliki aplikasi web sederhana yang mampu:
- Mengunggah file atau gambar dengan cepat dan mudah.
- Menyajikan tautan publik dari Kilat Storage yang siap dibagikan.
- Menyimpan riwayat upload langsung di browser lokal pengguna untuk akses instan.
- Memanfaatkan infrastruktur Kilat Storage yang aman, cepat, dan skalabel.
Dengan fondasi ini, Anda bisa langsung memakainya atau mengembangkannya lebih lanjut sesuai kebutuhan proyek Anda.
Unduh Aplikasi Uploader PHP untuk Kilat Storage
Tidak perlu repot membuat dari nol. Kami sudah menyiapkan paket aplikasi uploader PHP lengkap dengan frontend interaktif dan integrasi penuh ke Kilat Storage.
Cukup unduh, ekstrak, masukkan kredensial Kilat Storage Anda, dan langsung jalankan di server atau hosting PHP.
📥 Unduh Aplikasi Uploader (ZIP, ±12MB)
Tips: Gunakan paket ini sebagai template, lalu kembangkan sesuai kebutuhan aplikasi Anda.
Penutup
Mengelola dan membagikan file kini jauh lebih sederhana. Kilat Storage memberikan Anda:
- Infrastruktur yang andal untuk skala kecil hingga besar.
- Performa unggul dengan latensi rendah di jaringan lokal.
- Efisiensi biaya tanpa mengorbankan kualitas layanan.
- Kompatibilitas penuh dengan ekosistem S3 untuk fleksibilitas integrasi.
Jika Anda ingin aplikasi yang bisa menangani file dengan cara yang efisien dan profesional, Kilat Storage adalah jawabannya.
💡 Mulai sekarang juga: Coba Kilat Storage dari CloudKilat dan rasakan sendiri bedanya.