Menyimpan Base64 String Sebagai Sebuah File – PHP

Pokok permasalahan dari thread saya kali ini berawal bagaimana cara mengirim file (dokumen, gambar, etc) dari Smartphone Android melalui jaringan Internet ke dalam Server PHP. Dengan susah payah akhirnya saya menemukan caranya, langkah-langkahnya yaitu :

  1. Mengubah file terpilih menjadi sebuah binary string dan di-encode ke dalam enkripsi “base64”.
  2. Kirim string yang sudah dikonversi ke server.
  3. Di server menggunakan PHP, olah string yang diterima tersebut.
  4. Kemudian buat file dari hasil string yang diterima tadi.

Contoh yang saya berikan berikut ini hanya sebagai gambaran umum saja di sisi PHP-nya :

<?php
if (!empty($_POST)) {
	/**
	 *	Contoh string yang diterima :
	 *	JRgABAgEASABIAAD/4QxrRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUA AAABAAAAYgEbAAUAAA
	 */
	$string_file = $_POST["file_dari_android"];

	/**
	 *	Simpan sebagai file (image, document, etc.)
	 *	Contoh berikut anggap saja bahwa data yang dikirim
	 *	adalah berupa gambar "JPG".
	 *	Dan disimpan kembali menjadi gambar "JPG" di server.
	 */
	$data = 'data:image/jpg;base64,'.$string_file;
	list($type, $data) = explode(';', $data);
	list(, $data)      = explode(',', $data);
	$data = base64_decode($data);
	file_put_contents('direktori/'.$fname, $data);

	print "Berhasil";
} else {
	print "Gagal";
}
?>

Yap, cukup sederhana bukan? Semoga suatu saat thread ini bisa bermanfaat bagi banyak pihak 🙂 :D.

Leave a Reply