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🙂😀.

Mari Berdiskusi Bersama

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s