AWS telah menyediakan SDK untuk memudahkan transaksi terhadap beberapa servicenya secara program, salah satu yang disediakan adalah untuk PHP. Namun terkadang kebutuhan tidak sesuai dengan usaha yang harus dikeluarkan. Untuk sekedar upload file ke S3 milik AWS kita perlu load/download paket lengkap dari SDK nya, rasanya agak berlebihan.
Setelah googling beberapa waktu akhirnya ketemu library dalam bentuk single file, yang dapat digunakan untuk beberapa kegiatan di S3, salah satunya untuk upload file.
Library nya ada di repository https://github.com/23Pstars/simple-php-s3-upload
Menggunakannya cukup sederhana, hanya perlu menyesuaikan script index.php
dan melengkapi credentials untuk akun yang digunakan
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
include 'S3.php'; | |
define('S3_ENDPOINT', 's3.amazonaws.com'); | |
define('S3_BUCKET', 'bucket'); | |
define('S3_DIR', 'path/to/dir'); | |
define('S3_KEY', '*****'); | |
define('S3_SECRET', '*****'); | |
// submitted form | |
$_stored_filename = 'file.txt'; | |
$_file_tmp_name = $_FILES['tmp_name']; | |
new S3(S3_KEY, S3_SECRET, false, S3_ENDPOINT); | |
S3::putObjectFile($_file_tmp_name, S3_BUCKET, S3_DIR . DS . $_stored_filename, S3::ACL_PUBLIC_READ); | |
$_uploaded_file = 'https://' . S3_ENDPOINT . DS . S3_BUCKET . DS . S3_DIR . DS . $_stored_filename; |