DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja

Logo Koala Skodev mengetik

Skodev

Belajar coding dalam bahasa Indonesia

CARA UPLOAD GAMBAR DI PHP

Panduan langkah demi langkah cara upload gambar di PHP untuk pemula, termasuk penjelasan kode dan cara kerjanya yang mudah dimengerti.

Mengupload gambar di situs web merupakan fitur umum yang sering dibutuhkan. Di PHP, proses ini tidak terlalu sulit dan dapat dilakukan dengan mengikuti beberapa langkah sederhana. Artikel ini akan menuntun kamu melalui proses tersebut dengan menggunakan kata-kata yang mudah dipahami.

Persiapan Form HTML

Sebelum kita mengupload gambar menggunakan PHP, kita perlu membuat sebuah form HTML yang memungkinkan pengguna untuk memilih file yang ingin diupload.

<form action="upload.php" method="post" enctype="multipart/form-data">
    Pilih gambar untuk diupload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
</form>

Perhatikan bahwa atribut enctype harus diatur ke "multipart/form-data" agar file bisa diupload.

Membuat Script PHP

Penanganan File di Server

Setelah form di-submit, file akan dikirim ke server dan kita perlu menulis sebuah script PHP untuk menanganinya.

<?php
// Lokasi dimana kita akan menyimpan file yang diupload
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);

// Fungsi untuk mengupload gambar
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
    echo "File ". htmlspecialchars( basename( $_FILES["fileToUpload"]["name"])). " telah diupload.";
} else {
    echo "Maaf, terjadi kesalahan saat mengupload file.";
}
?>

Memeriksa File

Sebelum mengupload file, ada baiknya kita melakukan beberapa pemeriksaan.

Cek Tipe File

Kita harus memastikan bahwa file yang diupload adalah gambar.

// Periksa apakah file image atau bukan
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
    echo "File adalah gambar - " . $check["mime"] . ".";
} else {
    echo "File bukan gambar.";
}

Cek Ukuran File

Kita juga bisa membatasi ukuran file yang diizinkan untuk diupload.

// Cek jika file lebih besar dari yang ditentukan
if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo "Maaf, file kamu terlalu besar.";
}

Cek Format Gambar

Hanya perbolehkan format gambar tertentu.

// Izinkan format file tertentu
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Maaf, hanya file JPG, JPEG, PNG & GIF yang diperbolehkan.";
}

Mengamankan File Upload

Pastikan untuk mengecek dan membersihkan nama file dari karakter-karakter yang berpotensi digunakan untuk mengeksploitasi server.

$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$target_file = str_replace(" ", "_", $target_file); // Ganti spasi dengan underscore
$target_file = preg_replace("/[^a-zA-Z0-9\._]/", "", $target_file); // Hapus karakter yang tidak diinginkan

// Lanjutkan dengan pengecekan lainnya dan proses upload

Menyertakan langkah-langkah untuk mengupload gambar di PHP ini dalam proses pembuatan situs web akan membantu memastikan bahwa pengguna dapat dengan mudah menambahkan konten visual ke situs mereka. Pastikan kamu selalu mengikuti praktik terbaik keamanan untuk melindungi website dan data pengguna.


Daftar newsletter skodev masukkan emailmu untuk dapat informasi menarik dari dunia koding