Membuat Galeri Foto Website dengan PHP: 7 Langkah Demi Langkah untuk Pemula

galeri foto website dengan php

Apakah Anda ingin menampilkan galeri foto di website Anda? Membuat galeri foto website dengan PHP adalah cara yang tepat untuk menambahkan tampilan visual ke website Anda. Dalam artikel ini, kami akan membahas langkah-langkah untuk membuat galeri foto website dengan PHP. Mari kita mulai!

Sebelum memulai, pastikan bahwa Anda sudah memiliki:

  • PHP yang terinstal di server Anda.
  • Beberapa foto yang akan ditampilkan di galeri.

2. Membuat Database

Langkah pertama untuk membuat galeri foto website dengan PHP adalah membuat database untuk menyimpan informasi tentang foto. Buatlah tabel baru dalam database dan beri nama “galeri_foto”. Tabel tersebut akan memiliki beberapa kolom:

  • “id”: sebagai primary key.
  • “nama_file”: sebagai nama file gambar.
  • “keterangan”: sebagai deskripsi gambar.
  • “waktu_upload”: sebagai waktu gambar diupload.

3. Mengunggah Foto ke Server

Setelah membuat database, Anda dapat mengunggah foto ke server Anda. Pastikan untuk menempatkan foto-foto tersebut di folder yang sama dengan file PHP galeri foto. Anda juga harus memberikan nama yang sesuai untuk file foto.

4. Menampilkan Foto di Galeri

Kemudian, gunakan PHP untuk menampilkan foto-foto yang telah diunggah pada galeri. Buatlah file PHP baru dan beri nama “galeri_foto.php”. Pertama-tama, lakukan koneksi ke database dan pilih tabel “galeri_foto”.


// Koneksi ke database
$host = "localhost";
$user = "root";
$password = "";
$database = "nama_database";
$conn = mysqli_connect($host, $user, $password, $database);
// Pilih tabel "galeri_foto"
$sql = "SELECT * FROM galeri_foto";
$result = mysqli_query($conn, $sql);

Selanjutnya, gunakan perulangan untuk menampilkan setiap foto pada galeri.


// Menampilkan foto pada galeri
while ($row = mysqli_fetch_assoc($result)) {
$nama_file = $row['nama_file'];
$keterangan = $row['keterangan'];
echo "<img src='foto/$nama_file' alt='$keterangan'>";
}

5. Menambahkan Lightbox pada Galeri

Untuk membuat tampilan galeri foto website dengan PHP lebih menarik, Anda dapat menambahkan lightbox. Lightbox adalah fitur yang memungkinkan pengguna untuk melihat gambar dalam ukuran yang lebih besar ketika gambar di-klik.

Anda dapat menggunakan plugin lightbox seperti Magnific Popup atau Colorbox. Setelah mengunduh plugin, letakkan file-plugin tersebut pada folder yang sama dengan file PHP galeri foto.

Tambahkan kode berikut pada file “galeri_foto.php” untuk memanggil plugin lightbox.


// Memanggil plugin lightbox
<link rel="stylesheet" href="plugin/lightbox.css">
<script src="plugin/jquery.min.js"></script>
<script src="plugin/lightbox.min.js"></script>

Tambahkan class “popup” pada setiap gambar pada galeri.


// Menampilkan foto pada galeri dengan class "popup"
while ($row = mysqli_fetch_assoc($result)) {
$nama_file = $row['nama_file'];
$keterangan = $row['keterangan'];
echo "<a href='foto/$nama_file' class='popup' title='$keterangan
## 6. Mengatur Ukuran Gambar pada Galeri
Anda mungkin ingin mengatur ukuran gambar pada galeri agar tampilan lebih rapi. Untuk mengatur ukuran gambar, tambahkan class pada setiap gambar pada galeri.
```php
// Menampilkan foto pada galeri dengan class "popup" dan "gambar"
while ($row = mysqli_fetch_assoc($result)) {
$nama_file = $row['nama_file'];
$keterangan = $row['keterangan'];
echo "<a href='foto/$nama_file' class='popup' title='$keterangan'>";
echo "<img src='foto/$nama_file' alt='$keterangan' class='gambar'>";
echo "</a>";
}

Tambahkan kode CSS untuk mengatur ukuran gambar pada file CSS Anda.


/* Mengatur ukuran gambar pada galeri */
.gambar {
max-width: 300px;
height: auto;
}

6. Menambahkan Form Upload pada Galeri


// Form upload pada galeri
<form action="galeri_upload.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file_gambar">
<input type="text" name="keterangan" placeholder="Keterangan gambar">
<input type="submit" name="submit" value="Unggah">
</form>

Lakukan validasi pada form upload dan simpan informasi gambar ke dalam database.


// Proses upload gambar dan simpan ke dalam database
if (isset($_POST['submit'])) {
$nama_file = $_FILES['file_gambar']['name'];
$ukuran_file = $_FILES['file_gambar']['size'];
$error = $_FILES['file_gambar']['error'];
$tmp_name = $_FILES['file_gambar']['tmp_name'];
$keterangan = $_POST['keterangan'];
// Validasi upload gambar
if ($error === 4) {
echo "<script>alert('Pilih gambar terlebih dahulu.');</script>";
return false;
}
if ($ukuran_file > 1000000) {
echo "<script>alert('Ukuran gambar terlalu besar.');</script>";
return false;
}
$ekstensi_gambar = explode('.', $nama_file);
$ekstensi_gambar = strtolower(end($ekstensi_gambar));
$nama_file_baru = uniqid() . '.' . $ekstensi_gambar;
move_uploaded_file($tmp_name, 'foto/' . $nama_file_baru);
$sql = "INSERT INTO galeri_foto (nama_file, keterangan, waktu_upload) VALUES ('$nama_file_baru', '$keterangan', NOW())";
mysqli_query($conn, $sql);
header("Location: galeri_foto.php");
}

7. Menambahkan Pagination pada Galeri (lanjutan)


// Pagination pada galeri (lanjutan)
$halaman_aktif = (isset($_GET['halaman'])) ? $_GET['halaman'] : 1;
$awal_data = ($jumlah_data_per_halaman * $halaman_aktif) - $jumlah_data_per_halaman;
$sql = "SELECT * FROM galeri_foto LIMIT $awal_data, $jumlah_data_per_halaman";
$result = mysqli_query($conn, $sql);
$jumlah_halaman_tampilan = 3;
$awal_halaman = ($halaman_aktif > $jumlah_halaman_tampilan) ? $halaman_aktif - $jumlah_halaman_tampilan : 1;
$akhir_halaman = ($halaman_aktif < ($jumlah_halaman - $jumlah_halaman_tampilan)) ? $halaman_aktif + $jumlah_halaman_tampilan : $jumlah_halaman;
// Menampilkan pagination pada galeri
echo "<div class='pagination'>";
echo "<a href='galeri_foto.php?halaman=1'><<</a>";
for ($i = $awal_halaman; $i <= $akhir_halaman; $i++) {
$aktif = ($i == $halaman_aktif) ? "class='active'" : "";
echo "<a href='galeri_foto.php?halaman=$i' $aktif>$i</a>";
}
echo "<a href='galeri_foto.php?halaman=$jumlah_halaman'>>></a>";
echo "</div>";

Tambahkan kode CSS untuk mengatur tampilan pagination pada file CSS Anda.


/* Mengatur tampilan pagination pada galeri */
.pagination {
margin-top: 30px;
text-align: center;
}
.pagination a {
display: inline-block;
padding: 8px 16px;
border: 1px solid #ddd;
color: #666;
}
.pagination a.active {
background-color: #4CAF50;
color: white;
}
.pagination a:hover:not(.active) {
background-color: #ddd;
}

Kesimpulan

Dalam artikel ini, kami telah membahas cara membuat galeri foto website dengan PHP. Anda dapat mengikuti langkah-langkah di atas untuk membuat galeri foto website dengan php yang menarik dan fungsional pada website Anda. Selamat mencoba! Selain galeri foto website dengan PHP, kita juga bisa membuat gambar bergerak di website untuk tampilan yang lebih menarik.

FAQ

  1. Apakah PHP satu-satunya bahasa pemrograman yang dapat digunakan untuk membuat galeri foto di website?

Tidak. Ada banyak bahasa pemrograman yang dapat digunakan untuk membuat galeri foto di website, seperti JavaScript, Python, dan Ruby.

  1. Apakah saya perlu mempelajari HTML dan CSS untuk membuat galeri foto website?

Ya. HTML dan CSS diperlukan untuk membuat tampilan galeri foto. Anda juga dapat menggunakan framework CSS seperti Bootstrap untuk mempercepat proses pembuatan tampilan.

  1. Bagaimana cara membuat galeri foto yang responsif?

Anda dapat menggunakan teknik CSS seperti media queries untuk membuat galeri foto responsif.

  1. Apakah saya perlu menggunakan plugin lightbox pada galeri foto?

Tidak. Penggunaan plugin lightbox hanya opsional untuk meningkatkan tampilan galeri foto.

  1. Apakah saya dapat menambahkan fitur komentar pada galeri foto?

Ya. Anda dapat menambahkan fitur komentar pada galeri foto website dengan PHP dan database.

Sekilas tentang cara membuat galeri foto website dengan PHP

Facebook
Twitter
LinkedIn
Pinterest
Telegram
WhatsApp
Tumblr