Sebelum membuat galeri foto, anda harus bisa mengupload file dengan php. Secara singkat galeri foto yang akan dibuat adalah sebagai berikut. Pertama pengguna memilih gambar yang akan diupload dan memasukkan deskripsi gambar. Kemudian dengan php, gambar akan diupload ke sebuah folder. Nama file dan deskripsi gambar akan disimpan ke database.
Buatlah sebuah database dengan nama "galeri", dan buat sebuah tabel "foto" dengan struktur seperti:
atau gunakan sql query di bawah
Pertama buatlah sebuah folder dengan nama "galeri" di document root web server. Biasanya folder "htdocs" atau "public_html". Di dalam folder galeri buat folder "upload" dan tiga file kosong seperti gambar.
Buka file form.html dan buatlah html form dengan kode berikut.
kemudian simpan file tersebut.
Langkah selanjutnya adalah mengupload gambar ke folder "upload" dan menyimpan deskripsi dan nama file ke tabel "foto". Buka file save-gallery.php dan gunakan kode php di bawah untuk menyimpan gambar.
Pertama tama di baris ke 3-4 membuka koneksi ke database. Di baris ke-6 dilakukan pengecekan apakah file sudah terupload dan ukurannya lebih besar dari nol dan tidak terjadi error. Baris ke-8 memindahkan file yang telah terupload, dari temporary folder ke folder "upload" yang telah dibuat sebelumnya. Baris selanjutnya mengecek jika proses pemindahan file berhasil. Jika berhasil deskripsi dan nama file disimpan ke tabel 'foto'.
Selanjunya, menampilkan gambar yang telah disimpan. Buka file gallery.php dan isi dengan kode php di bawah.
Yang perlu di perhatikan adalah di baris ke-22. Untuk menampilkan gambar digunakan tag <img/>. Nama nama gambar yang ditampilkan diambil dari database - echo $row['nama_file']. Karena gambar diupload ke folder "upload" maka attribute src diisi dengan nilai seperti ini "upload/<?php echo $row['nama_file'];?>".
Sebuah galeri foto perlu sebuah fasilitas zoom. Untuk itu diperlukan jQuery dan Fancybox. Silahkan download Fancybox di websitenya (versi 1.3.4 saat tutorial ini dibuat). Setelah selesai, ekstrak file zip yang didownload dari website fancybox. Kemudian copy file jquery-1.4.3.min.js dan folder fancybox dari hasil ekstrakan dan paste di folder 'galeri' yang telah dibuat sebelumnya.
Selanjutnya buka kembali file gallery.php dan ubah menjadi seperti berikut.
Tidak tertutup kemungkinan ada kesalahan pada saat mengupload file. Untuk itu diperlukan fungsi untuk menghapus file. Pertama ubah skrip untuk menampilkan gambar (file gallery.php), tambahkan kode di bawah setelah baris ke-24.
Kemudian buat satu file lagi dengan nama delete-gallery.php dan isi dengan skrip untuk delete gambar di bawah.
Selain manghapus data juga diperlukan kemampuan untuk mengedit gambar. Pertama ubah skrip untuk menampilkan gambar (file gallery.php), ubah pada baris yang sama seperti cara membuat hapus gambar (tambahkan kode di bawah setelah baris ke-24.) seperti:
Kemudian buat sebuah file dengan nama edit-gallery.php dan isi dengan skrip php di bawah untuk melakukan edit gambar.
Sekarang buka browser dan buka halaman http://localhost/galeri/form.html. Upload beberapa file dan lihat hasilnya.
Selamat Mencoba.Tag : * Pengetahuan Unik On The Spot * Pengetahuan Unik * On the spot * Universitas Terbaik * Universitas Dunia * On The Spot Unik * Artikel On The Spot * Artikel Pengetahuan Unik * Dunia Bloging * Dunia Komputer * Teknologi * Komputer * Dunia teknologi
Membuat Database Galeri Foto
Buatlah sebuah database dengan nama "galeri", dan buat sebuah tabel "foto" dengan struktur seperti:
Nama Field | Tipe Data | Keterangan |
id | int(11) | Primary Key, auto increment |
nama_file | varchar(255) | |
deskripsi | varchar(255) |
atau gunakan sql query di bawah
- CREATE TABLE `foto` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `nama_file` varchar(255) NOT NULL,
- `deskripsi` varchar(255) ,
- PRIMARY KEY (`id`)
- )
- ENGINE = MyISAM;
Membuat Form dan Struktur Folder
Pertama buatlah sebuah folder dengan nama "galeri" di document root web server. Biasanya folder "htdocs" atau "public_html". Di dalam folder galeri buat folder "upload" dan tiga file kosong seperti gambar.
Buka file form.html dan buatlah html form dengan kode berikut.
- <html>
- <head>
- <title>New Picture</title>
- </head>
- <body>
- <form name="form1" action="save-gallery.php" method="post" enctype="multipart/form-data">
- File: <input type="file" name="file" id="file"/><br/>
- Deskripsi: <textarea name="deskripsi" id="deskripsi"></textarea><br/>
- <input type="submit" name="save" value="Upload"/>
- </form>
- </body>
- </html>
kemudian simpan file tersebut.
Mengupload dan Menyimpan Gambar ke Database
Langkah selanjutnya adalah mengupload gambar ke folder "upload" dan menyimpan deskripsi dan nama file ke tabel "foto". Buka file save-gallery.php dan gunakan kode php di bawah untuk menyimpan gambar.
- <?php
- //koneksi ke database
- $conn = mysql_connect('localhost', 'userdb', 'password');
- mysql_select_db('galeri');
- //upload file
- if(!empty($_FILES) && $_FILES['file']['size'] > 0 && $_FILES['file']['error'] == 0){
- $fileName = $_FILES['file']['name'];
- $move = move_uploaded_file($_FILES['file']['tmp_name'], 'upload/'.$fileName);
- if($move){
- //simpan deskripsi dan nama file ke database
- $sql = "insert into foto (nama_file, deskripsi) values
- ('$fileName', '".$_POST['deskripsi']."')";
- mysql_query($sql);
- header("Location: gallery.php");
- exit;
- }
- }
Pertama tama di baris ke 3-4 membuka koneksi ke database. Di baris ke-6 dilakukan pengecekan apakah file sudah terupload dan ukurannya lebih besar dari nol dan tidak terjadi error. Baris ke-8 memindahkan file yang telah terupload, dari temporary folder ke folder "upload" yang telah dibuat sebelumnya. Baris selanjutnya mengecek jika proses pemindahan file berhasil. Jika berhasil deskripsi dan nama file disimpan ke tabel 'foto'.
Menampilkan Gambar
Selanjunya, menampilkan gambar yang telah disimpan. Buka file gallery.php dan isi dengan kode php di bawah.
- <html>
- <head>
- <title>Gallery</title>
- </head>
- <body>
- <?php
- //koneksi ke database
- $conn = mysql_connect('localhost', 'userdb', 'password');
- mysql_select_db('galeri');
- //membaca data dari database
- $result = mysql_query("select * from foto");
- //menampilkan foto
- ?>
- <table>
- <tr>
- <?php
- $i = 1;
- while($row = mysql_fetch_array($result)){
- ?>
- <td>
- <a href="upload/<?php echo $row['nama_file'];?>">
- <img src="upload/<?php echo $row['nama_file'];?>" alt="" width="200" border="0"/>
- </a>
- <br/><?php echo $row['deskripsi'];?>
- </td>
- <?php
- if($i % 3 == 0){
- echo '</tr><tr>';
- }
- $i++;
- }
- ?>
- </tr>
- </table>
- </body>
- </html>
Yang perlu di perhatikan adalah di baris ke-22. Untuk menampilkan gambar digunakan tag <img/>. Nama nama gambar yang ditampilkan diambil dari database - echo $row['nama_file']. Karena gambar diupload ke folder "upload" maka attribute src diisi dengan nilai seperti ini "upload/<?php echo $row['nama_file'];?>".
Membuat Zoom
Sebuah galeri foto perlu sebuah fasilitas zoom. Untuk itu diperlukan jQuery dan Fancybox. Silahkan download Fancybox di websitenya (versi 1.3.4 saat tutorial ini dibuat). Setelah selesai, ekstrak file zip yang didownload dari website fancybox. Kemudian copy file jquery-1.4.3.min.js dan folder fancybox dari hasil ekstrakan dan paste di folder 'galeri' yang telah dibuat sebelumnya.
Selanjutnya buka kembali file gallery.php dan ubah menjadi seperti berikut.
- <html>
- <head>
- <title>Gallery</title>
- <!--menambahkan jquery-->
- <script type="text/javascript" src="jquery-1.4.3.min.js"></script>
- <!--menambahkan fancybox-->
- <script type="text/javascript" src="fancybox/jquery.fancybox-1.3.4.pack.js"></script>
- <!--menambahkan css fancybox-->
- <link href="fancybox/jquery.fancybox-1.3.4.css" type="text/css" rel="stylesheet"/>
- <script type="text/javascript">
- $(document).ready(function(){
- $(".fancy").fancybox();
- });
- </script>
- </head>
- <body>
- <?php
- //koneksi ke database
- $conn = mysql_connect('localhost', 'userdb', 'password');
- mysql_select_db('galeri');
- //membaca data dari database
- $result = mysql_query("select * from foto");
- //menampilkan foto
- ?>
- <table>
- <tr>
- <?php
- $i = 1;
- while($row = mysql_fetch_array($result)){
- ?>
- <td>
- <a href="upload/<?php echo $row['nama_file'];?>" class="fancy">
- <img src="upload/<?php echo $row['nama_file'];?>" alt="" width="200" border="0"/>
- </a>
- <br/><?php echo $row['deskripsi'];?>
- </td>
- <?php
- if($i % 3 == 0){
- echo '</tr><tr>';
- }
- $i++;
- }
- ?>
- </tr>
- </table>
- </body>
- </html>
Delete / Hapus Gambar
Tidak tertutup kemungkinan ada kesalahan pada saat mengupload file. Untuk itu diperlukan fungsi untuk menghapus file. Pertama ubah skrip untuk menampilkan gambar (file gallery.php), tambahkan kode di bawah setelah baris ke-24.
- <br/>
- <a href="delete-gallery.php?id=<?php echo $row['id'];?>" onclick="return confirm('Anda yakin?');">Delete</a>
Kemudian buat satu file lagi dengan nama delete-gallery.php dan isi dengan skrip untuk delete gambar di bawah.
- <?php
- //file delete-gallery.php
- //koneksi ke database
- $conn = mysql_connect('localhost', 'userdb', 'password');
- mysql_select_db('galeri');
- if(isset($_GET['id'])){
- $id = (int) $_GET['id'];
- $sql = "select * from foto where id='$id'";
- $result = mysql_query($sql);
- if(mysql_num_rows($result) > 0 ){
- $data = mysql_fetch_array($result);
- //delete file
- @unlink('upload/'.$data['nama_file']);
- //delete data di database
- mysql_query("delete from foto where id='$id'");
- }
- }
- header("Location: gallery.php");
Edit Gambar
Selain manghapus data juga diperlukan kemampuan untuk mengedit gambar. Pertama ubah skrip untuk menampilkan gambar (file gallery.php), ubah pada baris yang sama seperti cara membuat hapus gambar (tambahkan kode di bawah setelah baris ke-24.) seperti:
- <br/>
- <a href="edit-gallery.php?id=<?php echo $row['id'];?>">Edit</a>
Kemudian buat sebuah file dengan nama edit-gallery.php dan isi dengan skrip php di bawah untuk melakukan edit gambar.
- <?php
- //file edit-gallery.php
- //koneksi ke database
- $conn = mysql_connect('localhost', 'userdb', 'password');
- mysql_select_db('galeri');
- if($_POST){ //jika tombol update ditekan dan data terkirim ke server
- //bentuk sql query untuk update
- $update = "update foto set deskripsi='".$_POST['deskripsi']."' ";
- if($_FILES['file']['size'] > 0 && $_FILES['file']['error'] == 0){ //update gambar hanya jika user memilih file baru
- $move = move_uploaded_file($_FILES['file']['tmp_name'], "upload/".$_FILES['file']['name']);
- if($move){
- $update .= ", nama_file='".$_FILES['file']['name']."'";
- }
- }
- $update .= " where id='".$_POST['id']."'";
- mysql_query($update); //update data ke database
- header("Location: gallery.php");
- exit;
- }
- ?>
- <html>
- <head>
- <title>Edit Picture</title>
- </head>
- <body>
- <form name="form1" action="" method="post" enctype="multipart/form-data">
- <?php
- $sql = "select * from foto where id='".intval($_GET['id'])."'";
- $data = mysql_fetch_array(mysql_query($sql));
- ?>
- <!-- menampilkan gambar sebelumnya -->
- <img src="upload/<?php echo $data['nama_file'];?>" alt="" width="200"/><br/>
- File: <input type="file" name="file" id="file"/><br/>
- <!-- menampilkan deskripsi -->
- Deskripsi: <textarea name="deskripsi" id="deskripsi"><?php echo $data['deskripsi'];?></textarea><br/>
- <input type="submit" name="save" value="Update"/>
- <input type="hidden" name="id" value="<?php echo $data['id'];?>"/>
- </form>
- </body>
- </html>
Sekarang buka browser dan buka halaman http://localhost/galeri/form.html. Upload beberapa file dan lihat hasilnya.
Selamat Mencoba.Tag : * Pengetahuan Unik On The Spot * Pengetahuan Unik * On the spot * Universitas Terbaik * Universitas Dunia * On The Spot Unik * Artikel On The Spot * Artikel Pengetahuan Unik * Dunia Bloging * Dunia Komputer * Teknologi * Komputer * Dunia teknologi
{ 0 komentar... Views All / Kirimkan Komentar! }
Posting Komentar
Silahkan berkomentar.Bergabung dengan Ngiseng Community