Cara Membuat Upload File Gambar dengan PHP dan MySQL
Cara Membuat Upload Gambar dengan PHP dan MySQL - Beberapa hari yang lalu ada seseorang yang me-request tutorial tentang Mengupload Gambar di PHP. Dari yang saya baca, ada beberapa teknik untuk melakukan upload gambar di pemrograman PHP. Namun, teknik yang akan saya gunakan kali ini adalah upload gambar dengan memindahkan (meng-copy) gambar ke direktori yang kita tuju dan nama file gambar yang kita upload kita simpan di dalam Database. Pada teknik ini saya menggunakan fungsi move_uploaded_file().
Teman-teman juga bisa mendownload script di-atas dibawah ini. Jadi teman-teman tidak perlu repot-repot meng-copy-paste script di atas.
DOWNLOAD SCRIPT UPLOAD GAMBAR DENGAN PHP DAN MYSQL
Tutorial upload file gambar ini juga bisa digunakan untuk format lainnya, kita hanya mengubah filter file apa saja yang bisa kita upload pada file proses_upload.php.
- Pertama, silakan teman-teman buat databasenya terlebih dahulu.
- Buat tabel dengan query berikut:
CREATE TABLE `data_gambar` ( `id` int(11) NOT NULL, `nama_file` varchar(20) NOT NULL, `keterangan` text ) ENGINE=InnoDB DEFAULT CHARSET=latin1; ALTER TABLE `data_gambar` ADD PRIMARY KEY (`id`); ALTER TABLE `data_gambar` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
- Simpan script berikut dengan nama koneksi.php dan ubah sesuai pengaturan database teman-teman.
<?php # PENGATURAN DATABASE $database['host'] = 'localhost'; //hostname $database['user'] = 'root'; //user database $database['password'] = '1234'; //password database $database['dbname'] = 'kangsunu_imageupload'; //nama database $koneksi = mysqli_connect($database['host'], $database['user'], $database['password'], $database['dbname']); //membuat koneksi if (mysqli_connect_errno()) { trigger_error('Koneksi ke database gagal: ' . mysqli_connect_error(), E_USER_ERROR); // Jika koneksi gagal } ?>
- Simpan script berikut dengan nama proses_upload.php
<?php $message = ''; $valid_file = true; $max_size = 1024000; // Ukuran maksimal file yang akan diupload (dalam byte) if($_FILES['photo']['name']){ // if no errors... if(!$_FILES['photo']['error']){ // now is the time to modify the future file name and validate the file $new_file_name = strtolower($_FILES['photo']['tmp_name']); //rename file menjadi huruf kecil if($_FILES['photo']['size'] > $max_size) //file tidak boleh lebih besar dari ukuran maksimal { $valid_file = false; $message = 'Maaf, file terlalu besar. Max: 1MB'; } // Mengatur format file yang boleh diupload $image_path = pathinfo($_FILES['photo']['name'],PATHINFO_EXTENSION); //ambil extensi file $extension = strtolower($image_path); //rename extensi file menjadi huruf kecil if($extension != "jpg" && $extension != "jpeg" && $extension != "png" && $extension != "gif" ) { $valid_file = false; $message = "Maaf, file yang diijinkan hanya format JPG, JPEG, PNG & GIF. #".$extension; } // jika file lolos filter if($valid_file == true) { // mengganti nama gambar $rename_nama_file = date('YmdHis'); $nama_file_baru = $rename_nama_file.'.'.$extension; // simpan ke database $sql = "INSERT INTO data_gambar VALUES(null, '$nama_file_baru', '$keterangan')"; if (!mysqli_query($koneksi, $sql)) { echo "Error: ".mysqli_error($koneksi)."<br>"; die('. Gagal mengupload gambar.'); } //memindahkan gambar ke tempat yang kita inginkan move_uploaded_file($_FILES['photo']['tmp_name'], 'data_gambar/'.$nama_file_baru); $message = 'Gambar berhasil diupload!'; die($message); } } //if there is an error... else { //set that to be the returned message $message = 'Ooops! Your upload triggered the following error: '.$_FILES['photo']['error']; } } ?>
- Ini kode HTML-nya, simpan dengan nama index.php
<?php include 'koneksi.php'; $message = ''; if (isset($_POST['upload'])) { $keterangan = $_POST['keterangan']; require_once('proses_upload.php'); } ?> <!DOCTYPE html> <html> <head> <title>Upload Gambar Sederhana by KangSunu</title> </head> <body> <?php echo $message; ?> <form action="" method="post" enctype="multipart/form-data" accept="image/jpg"> <label>Pilih gambar</label> <input type="file" name="photo" required> <br> <label>Keterangan</label> <textarea type="text" name="keterangan"></textarea> <br> <button type="submit" name="upload">Upload</button> </form> </body> </html>
- Tambahkan sebuah direktori dengan nama data_gambar
Teman-teman juga bisa mendownload script di-atas dibawah ini. Jadi teman-teman tidak perlu repot-repot meng-copy-paste script di atas.
DOWNLOAD SCRIPT UPLOAD GAMBAR DENGAN PHP DAN MYSQL
Tutorial upload file gambar ini juga bisa digunakan untuk format lainnya, kita hanya mengubah filter file apa saja yang bisa kita upload pada file proses_upload.php.
Komentar ini telah dihapus oleh pengarang.
bisa dicantumkan source-codenya mas?
siapa tahu ada teman-teman lain ada yang bisa ikut membantu. terimakasih.
makasih banyak kang sudah bisa terupload. tapi ada data nama barang, harga, sama stok yg tidak bisa masuk ke dalam database
Maksih kang atas menafaat perkongsian ilmu ini