DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
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.
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.
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.";
}
?>
Sebelum mengupload file, ada baiknya kita melakukan beberapa pemeriksaan.
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.";
}
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.";
}
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.";
}
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.
Link terkait: