Kamis, 19 Maret 2009

Contoh Upload Gambar dan Disimpan ke Database MySQL

From PHP Indonesia

Salah satu pembaca situs PHPIndonesia.com ini suatu hari pernah menanyakan mengenai bagaimana caranya meng-upload gambar dan kemudian dimasukkan ke dalam database MySQL. Bagaimanakah caranya? Mari kita ikuti saja tulisan berikut ini.

Pertama-tama mari kita siapkan dulu tabel yang akan kita gunakan untuk menyimpan gambar. Sebut saja nama tabelnya adalah table_pictures. Berikut ini sintaks SQL untuk membuat tabel tersebut.

CREATE TABLE table_pictures (
id int(11) NOT NULL AUTO_INCREMENT,
picture blob,
update_timestamp datetime DEFAULT NULL,
extension varchar(5) DEFAULT NULL,
PRIMARY KEY (id)
) AUTO_INCREMENT=1;

Data image akan kita simpan pada field picture yang saya set tipe-nya adalah BLOB.

Sekarang kita akan buat form HTML untuk upload gambarnya. Simpan dengan nama upload_picture.php



Upload Picture



Picture:




Tampilannya akan nampak seperti berikut ini.

Form di atas punya action yang diarahkan ke file c_upload_picture.php. Pada file tersebutlah yang akan menangani proses upload dan simpan ke database. Berikut ini adalah source file c_upload_picture.php


$server = "localhost";
$username = "usermu"; // sesuaikan dengan username anda
$password = "passku"; // sesuaikan dengan password anda
$db_name = "phpindonesia"; // sesuaikan dengan database name anda

$db = mysql_connect($server,$username,$password) or DIE("Connection to database failed, perhaps the service is down !!");
mysql_select_db($db_name) or DIE("Database name not available !!");

if ($_FILES['upfile']['error'] == 0) {
$img = $_FILES['upfile']['tmp_name'];
$path_parts = pathinfo($_FILES['upfile']['name']);
$extension = strtolower($path_parts["extension"]);

if ((strtolower($extension) == "jpg") || (strtolower($extension) == "gif") || (strtolower($extension) == "png")) { // check extension
if ($_FILES['upfile']['size'] <= 500000) { // check file size
// get the picture (original)
$picture = addslashes(fread(fopen($img, "r"), $_FILES['upfile']['size']));

// save to database
mysql_query("insert into table_pictures (picture, update_timestamp, extension) values ('" . $picture . "', now(), '" . $extension . "')", $db);

echo "upload sukses!";
exit;
} else {
echo "ukuran file harus dibawah 500 kilobytes";
exit;
}
} else {
echo "extension file harus jpg, gif atau png";
exit;
}
} else {
echo "proses upload gagal!";
exit;
}
?>

Sampai di sini kita telah sampai proses upload dan hasil upload disimpan ke tabel pada database MySQL.

Sekarang kita akan buat script untuk menampilkan gambar yang sudah tersimpan di dalam database tadi. Saya beri nama filenya show_picture.php


$v_id = $_REQUEST['id']; // id gambar

$server = "localhost";
$username = "usermu"; // sesuaikan dengan username anda
$password = "passmu"; // sesuaikan dengan password anda
$db_name = "phpindonesia"; // sesuaikan dengan database name anda

$db = mysql_connect($server,$username,$password) or DIE("Connection to database failed, perhaps the service is down !!");
mysql_select_db($db_name) or DIE("Database name not available !!");

$result_picture = mysql_query("select * from table_pictures where id = " . $v_id, $db);
$v_picture = mysql_result($result_picture, 0, "picture");
$v_extension = mysql_result($result_picture, 0, "extension");
if ($v_extension == "jpg") {
$v_extension = "jpeg";
}

header('Content-type: image/' . $v_extension);
echo $v_picture;
?>

Untuk menampilkan picture Anda bisa panggil show_picture.php dengan parameter id sebagai id gambarnya. Contohnya seperti berikut ini.

http://localhost/show_picture.php?id=1

Artinya kita akan menampilkan gambar yang di database tersimpan dengan id = 1. Semoga contoh ini bisa memberi pencerahan bagi Anda. Selanjutnya Anda bisa kembangkan sendiri sesuai dengan kebutuhan Anda.

Jumat, 13 Maret 2009

LIRIK LAGU WE WILL NOT GO DOWN

WE WILL NOT GO DOWN (Song for Gaza)
(Composed by Michael Heart)


A blinding flash of white light
Lit up the sky over Gaza tonight
People running for cover
Not knowing whether they’re dead or alive

They came with their tanks and their planes
With ravaging fiery flames
And nothing remains
Just a voice rising up in the smoky haze

We will not go down
In the night, without a fight
You can burn up our mosques and our homes and our schools
But our spirit will never die
We will not go down
In Gaza tonight

Women and children alike
Murdered and massacred night after night
While the so-called leaders of countries afar
Debated on who’s wrong or right

But their powerless words were in vain
And the bombs fell down like acid rain
But through the tears and the blood and the pain
You can still hear that voice through the smoky haze

We will not go down
In the night, without a fight
You can burn up our mosques and our homes and our schools
But our spirit will never die
We will not go down
In Gaza tonight

Label:

Kamis, 12 Maret 2009

Manajemen Berkas


Berkas adalah kumpulan informasi yang
berhubungan dan sesuai dengan tujuan
pembuat berkas tersebut.
Umumnya berkas
merepresentasikan program dan data. Berkas
dapat mempunyai struktur yang bersifat
hirarkis (direktori, volume, dll.). Sistem operasi
mengimplementasikan konsep abstrak dari
berkas dengan mengatur media penyimpanan
massa, misalnya tapes dan disk.
Sistem operasi bertanggung jawab atas semua
aktivitas yang berhubungan dengan manajemen
berkas seperti pembuatan dan penghapusan
berkas, pembuatan dan penghapusan direktori,
mendukung manipulasi berkas dan direktori,
memetakan berkas ke secondary storage, dan
mem-back-up berkas ke media penyimpanan
yang permanen (non-volatile). Manajemen
berkas memakai struktur diskrit pohon karena
struktur direktorinya yang seperti pohon.

Manajemen Berkas
Berkas adalah kumpulan informasi yang berhubungan sesuai dengan tujuan pembuat berkas tersebut. Berkas dapat mempunyai struktur yang bersifat hierarkis (direktori, volume, dll). Sistem operasi memberikan tanggapan atas manajemen berkas untuk aktivitas-aktivitas berikut:
· Pembuatan dan penghapusan berkas
· Pembuatan dan penghapusan direktori
· Primitif-primitif yang mendukung untuk memanipulasi berkas dan direktori
· Pemetaan berkas ke secondary storage
· Melakukan back-up berkas ke media penyimpanan yang stabil (Non-volatile)
Karakteristik sistem multimedia:

· Berkas multimedia biasanya memiliki ukuran yang besar. Contoh, sebuah berkas MPEG-1 video yang berdurasi 100 menit membutuhkan kira-kira 1.125 GB ruang penyimpanan.

· Data continouos memerlukan rate yang sangat tinggi. Misalnya dalam sebuah video digital, dimana frame dari video yang ingin ditampilkan beresolusi 800 x 600. apabila kita menggunakan 24 bits untuk merepresentasikan warna pada setiap pixel, tiap frame berarti membutuhkan 800 x 600 x 24 = 11.520.000 bits data. Jika frame-frame tersebut ditampilkan pada kecepatan 30 frame/detik, maka bandwidth yang diperlukan adalah lebih dari 345 Mbps.

· Aplikasi multimedia sensitif terhadap timing delay selama pemutaran ulang. Setiap kali
berkas continouos media dikirim kepada klien, pengiriman harus kontinu pada kecepatan tertentu selama pemutaran media tersebut. Hal ini dilakukan agar pada saat user menonton atau mendengar berkas-berkas multimedia tidak terputus-putus.
Manajemen berkas merupakan salah satu komponen dari sebuah sistem operasi. Sistem operasi memberikan tanggapan atas manajemen file untuk aktivitas-aktivitas berikut: pembuatan dan penghapusan berkas, pembuatan dan penghapusan direktori, pemanipulasian terhadap sebuah berkas atau direktori, memetakan berkas ke secondary storage, serta melakukan back-up sebuah berkas ke media penyimpanan yang bersifat permanen (non-volatile). Berkas multimedia memiliki 3 karakteristik yaitu: memiliki ukuran berkas yang besar, memiliki rate yang tinggi, dan sensitif terhadap timing delay.

Kompresi merupakan pengukuran suatu berkas menjadi ukuran yang lebih kecil dari berkas aslinya. Kompresi sangat berguna pada saat mengirimkan sebuah isi berkas melalui koneksi jaringan. Hal ini menyebabkan pengiriman berkas yang telah dikompresi lebih cepat jika dibandingkan dengan berkas yang belum dikompresi. Algoritma yang digunakan untuk mengkompresi sebuah berkas multimedia adalah algoritma lossy dan lossless.

Label: