Cara menggunakan upload file word php
Berikutnya, membuat bentuk HTML yang memungkinkan pengguna untuk memilih file gambar yang mereka ingin meng-upload: Show
Beberapa aturan untuk mengikuti untuk bentuk HTML di atas:
Tanpa persyaratan di atas, file upload tidak akan bekerja. Hal-hal lain untuk melihat:
Form diatas mengirimkan data ke sebuah file yang bernama "upload.php" , yang akan kita buat berikutnya. Buat The Upload file PHP ScriptThe "upload.php" file berisi kode untuk meng-upload file: $target_dir = "uploads/"; Script PHP menjelaskan:
Catatan: Anda akan perlu untuk membuat direktori baru bernama "uploads" di direktori mana "upload.php" berkas berada. file yang diupload akan disimpan di sana. Periksa apakah Berkas Sudah AdaSekarang kita dapat menambahkan beberapa pembatasan. Pertama, kita akan memeriksa apakah file sudah ada di "uploads" folder. Jika tidak, pesan kesalahan ditampilkan, dan $ uploadOk diatur ke 0: // Check if file already exists Ukuran batas BerkasField input file dalam bentuk HTML kita di atas bernama "fileToUpload" . Sekarang, kita ingin memeriksa ukuran file. Jika file lebih besar dari 500KB, pesan kesalahan ditampilkan, dan $ uploadOk diatur ke 0: // Check file size Jenis batas BerkasKode di bawah ini hanya memungkinkan pengguna untuk meng-upload JPG, JPEG, PNG, dan GIF. Semua jenis file lain memberikan pesan kesalahan sebelum menetapkan $ uploadOk ke 0: Selamat datang di warung belajar, melanjutkan pembahasan mengenai seri tutorial PHP, dalam tutorial kali ini kita akan belajar membuat fitur upload file dengan PHP dan MySQL. Fitur ini biasanya digunakan untuk membuat fitur upload berkas, baik itu berkas bisa berupa image, dokumen, serta berkas – berkas lainnya. Untuk fitur upload ini yang akan disimpan di database adalah path dari file yang diupload, bukan berupa blob, mungkin untuk pembahasan upload ke tipe data blob akan kita bahas di tutorial selanjutnya. Baik kita langsung membahas langkah – langkahnya.
Membuat database untuk menyimpan dataPada langkah awal ini kita akan menyiapkan dulu database yang digunakan untuk menyimpan data dari gambar yang diupload, langkah – langkahnya adalah sebagai berikut : 1. Pada tutorial ini kita masih menggunakan xampp, jadi untuk pembuatan databasenya menggunakan phpmyadmin, jadi silahkan jalankan service mysql di xampp control panel, lalu berikutnya akses alamat localhost/phpmyadmin 2. Lalu silahkan klik menu Basis data / database untuk membuat database baru, untuk nama databasenya disini kita akan contohkan adalah db_upload, setelah itu bisa klik tombol buat / create 3.Lalu buat tabel dengan nama tb_gambar, dengan jumlah 5 kolom, lalu klik tombol kirim. 4. Berikutnya buat kolom – kolom yang ada di tabel tb_gambar, seperti berikut ini : Keterangan :
Lalu silahkan klik tombol Simpan. Jika anda tidak ingin ribet dengan proses pembuatan tabel, anda bisa langsung import perintah SQL yang kita persiapkan : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 -- phpMyAdmin SQL Dump -- version 4.7.4 -- https://www.phpmyadmin.net/ -- -- Host: 127.0.0.1 -- Generation Time: Jun 15, 2019 at 07:24 AM -- Server version: 10.1.26-MariaDB -- PHP Version: 7.1.9
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET AUTOCOMMIT = 0; START TRANSACTION; SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */;
-- -- Database: `db_upload` --
-- --------------------------------------------------------
-- -- Table structure for table `tb_gambar` --
CREATE TABLE `tb_gambar` ( `id_gambar` int(11) NOT NULL, `gambar` varchar(255) NOT NULL, `keterangan` varchar(255) NOT NULL, `tipe_gambar` varchar(255) NOT NULL, `ukuran_gambar` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- -- Indexes for dumped tables --
-- -- Indexes for table `tb_gambar` -- ALTER TABLE `tb_gambar` ADD PRIMARY KEY (`id_gambar`);
-- -- AUTO_INCREMENT for dumped tables --
-- -- AUTO_INCREMENT for table `tb_gambar` -- ALTER TABLE `tb_gambar` MODIFY `id_gambar` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Membuat ProjectSetelah anda sudah membuat database yang digunakan untuk menyimpan hasil upload, langkah berikutnya kita akan membuat folder dari project kita, karena di tutorial ini kita menggunakan xampp, sehingga projectnya kita simpan di C:/xampp/htdocs (karena folder instalasi xampp ada di drive C) Contohnya kita buat folder projectnya adalah upload, berikutnya didalam folder upload silahkan buat 4 file php antara lain :
lalu buat 1 folder dengan nama files, folder ini nanti yang berisi gambar hasil upload, jadi kurang lebih hasilnya adalah seperti berikut ini :
Membuat file koneksi ke databaseLangkah berikutnya silahkan buka file koneksi.php yang sudah dibuat sebelumnya, lalu isikan dengan skrip berikut ini : 1 2 3 4 5 6 7 $host = "localhost"; $user = "root"; $password = ""; $database = "db_upload"; $koneksi = mysqli_connect($host, $user, $password, $database); ?> Keterangan :
Membuat form untuk upload fileSetelah membuat file koneksi.php, berikutnya silahkan buka file form_upload.php, lalu silahkan tuliskan skrip seperti berikut ini : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 include('koneksi.php'); if(isset($_POST['tombol'])) { $temp = $_FILES['gambar']['tmp_name']; $name = rand(0,9999).$_FILES['gambar']['name']; $size = $_FILES['gambar']['size']; $type = $_FILES['gambar']['type']; $keterangan = $_POST['keterangan']; $folder = "files/"; if ($size < 2048000 and ($type =='image/jpeg' or $type == 'image/png')) { move_uploaded_file($temp, $folder . $name); mysqli_query($koneksi, "insert into tb_gambar (gambar,keterangan,tipe_gambar,ukuran_gambar) values ('$name','$keterangan','$type','$size')"); header('location:index.php'); }else{ echo "Gagal Upload File"; } } ?> <html> <head> <title></title> </head> <body> <form method="post" action="" enctype="multipart/form-data"> <table> <tr> <td>Gambar</td> <td><input type="file" name="gambar"/></td> </tr> <tr> <td>Keterangan</td> <td><textarea name="keterangan"></textarea></td> </tr> <tr> <td></td> <td><input type="submit" name="tombol"/></td> </tr> </table> </form> </body> </html> Untuk menjalankan silahkan menggunakan alamat : localhost/upload/form_upload.php Keterangan :
Mencoba Upload FileSebelum menjelaskan bagian proses uploadnya, kita akan coba upload file terlebih dahulu, silahkan buka form dengan menggunakan alamat localhost/upload/upload_form.php lalu coba upload salah satu gambar, dan isikan bagian keterangan : berikutnya silahkan klik tombol “Submit”. Jika tidak menampilkan pesan error, berarti proses uploadnya berhasil, berikutnya silahkan cek tb_gambar didatabase db_upload. terlihat ada 1 record yang berisi data file yang barusan kita upload. Silahkan coba cek folder files, di folder project kita, nah terlihat ada 1 file, file tersebut adalah file yang berhasil diupload.
Baik setelah mencoba form upload gambar dan berhasil, berikutnya kita akan bahas bagaimana pemrosesan form upload tersebut. Keterangan : 1 include('koneksi.php'); Baris 2 (form_upload.php) kita menginclude file koneksi.php yang berisi koneksi ke database 1 if(isset($_POST['tombol'])) Baris 3 (form_upload.php) kita melakukan pengecekan apakah tombol submit di klik, jika diklik maka akan menjalankan perintah yang ada di baris 5 – 17 1 $temp = $_FILES['gambar']['tmp_name']; Baris 5 (form_upload.php) kita menyimpan temporary dari file yang akan diupload didalam file $temp, dengan perintah $_FILES[‘gambar’][‘tmp_name’], gambar disini adalah name dari bagian form yang menjadi fitur upload ( type file – baris 29) 1 $name = rand(0,9999).$_FILES['gambar']['name']; Baris 6 (form_upload.php) kita membuat variabel $name, variabel ini digunakan untuk menyimpan nama file yang diupload, perintah rand(0,9999) digunakan untuk memberikan string acak diawal nama file, hal ini digunakan untuk mencegah ada nama file yang sama. 1 $size = $_FILES['gambar']['size']; Baris 7 (form_upload.php) kita membuat variabel $size yang digunakan untuk menyimpan ukuran file yang diupload 1 $type = $_FILES['gambar']['type']; Baris 8 (form_upload.php) kita membuat variabel $type yang digunakan untuk menyimpan tipe file, dari berkas yang diupload. 1 $keterangan = $_POST['keterangan']; Baris 9 (form_upload.php) kita membuat variabel $keterangan yang digunakan untuk menyimpan inputan keterangan di bagian form (baris 33) 1 $folder = "files/"; Baris 10 (form_upload.php) kita membuat $folder yang berisi nama folder tempat menyimpan file yang diupload, dalam hal ini adalah berisi “files/”, hal tersebut karena kita menyimpan hasil upload file kedalam folder files. 1 if ($size < 2048000 and ($type =='image/jpeg' or $type == 'image/png')) { Baris 11 digunakan untuk melakukan pengecekan apakah ukuran file ($size) kurang dari 2048 kb ( 2 MB ), dan memiliki extention file .jpg ataupun .png, jika bernilai true maka akan menjalankan perintah di baris 12 – 14, tetapi jika bernilai false akan menjalankan perintah dibaris 16. 1 move_uploaded_file($temp, $folder . $name); Baris 12 (form_upload.php) perintah move_uploaded_file digunakan untuk upload file, perintah ini memiliki 2 argumen yaitu :
1 mysqli_query($koneksi, "insert into tb_gambar (gambar,keterangan,tipe_gambar,ukuran_gambar) values ('$name','$keterangan','$type','$size')"); Baris 13 (form_upload.php) kita menuliskan perintah untuk menyimpan data ke tabel tb_gambar.1 header('location:index.php'); Baris 14 (form_upload.php) digunakan untuk redirect ke halaman index.php, halaman index.php akan berisi daftar gambar yang berhasil diupload
Membuat file index.php untuk menampilkan hasil upload gambarSetelah anda belajar untuk memproses file yang diupload, berikutnya kita akan menampilkan hasil upload gambar, silahkan buka file dengan nama index.php, lalu tuliskan perintah sebagai berikut : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 include('koneksi.php'); $query = mysqli_query($koneksi,"select * from tb_gambar"); ?> <html> <head> <title></title> </head> <body> <a href="form_upload.php">Upload Gambar</a> <table border="1"> <tr> <th>No</th> <th>Gambar</th> <th>Keterangan</th> <th>Tipe</th> <th>Ukuran</th> <th>Action</th> </tr>
$no = 1; while($row = mysqli_fetch_array($query)) { ?> <tr> <td> echo $no++; ?></td> <td><img src="files/ echo $row['gambar']; ?>" width="100"/></td> <td> echo $row['keterangan']; ?></td> <td> echo $row['tipe_gambar']; ?></td> <td> echo $row['ukuran_gambar']; ?></td> <td><a href="delete_gambar.php?id_gambar= echo $row['id_gambar']; ?>">Delete</a></td> </tr>
} ?> </table> </body> </html> Untuk menjalankan file tersebut silahkan akses melalui alamat : localhost/upload kenapa tidak menyebutkan index.php, karena file index adalah yang otomatis diakses tanpa perlu disebut, saat foldernya diakses Keterangan : Hasilnya akan menampilkan 1 data hasil inputan kita di form_upload, dan terlihat ada gambar yang kita upload 1 include('koneksi.php'); Baris 2 (index.php) kita include file koneksi.php yang berisi koneksi ke database. 1 $query = mysqli_query($koneksi,"select * from tb_gambar"); Baris 3 (index.php) kita menuliskan query untuk mendapatkan seluruh data yang ada di tabel tb_gambar, dengan perintah “select * from tb_gambar” dan hasil query disimpan di variabel $query Baris 11 – 19 (index.php) kita menuliskan tag tabel, serta membuat head dari tabel tersebut. 1 while($row = mysqli_fetch_array($query)) Baris 22 (index.php) kita extract variabel $query yang berisi data dari tabel tb_gambar, dengan menggunakan perintah while($row = mysqli_fetch_array($query)), setiap hasil record akan disimpan di variabel $row. Baris 25 – 32 (index.php) kita menampilkan data disesuaikan dengan kolom yang ada di head tabel, pemanggilan datanya menggunakan array dengan element nama kolom di tabel tb_gambar. 1 <img src="files/ echo $row['gambar']; ?>" width="100"/> Baris 27 (index.php) kita menggunakan tag dengan nilai src mengakses file image hasil uploadnya yang berada di folder files 1 <a href="delete_gambar.php?id_gambar= echo $row['id_gambar']; ?>">Delete</a> Baris 31 (index.php) kita membuat tombol untuk menghapus data gambar dengan menggunakan tag a, dimana value attribute href akan mengakses file delete_gambar.php dengan mengirimkan 1 paremeter get dengan nama id_gambar dengan value id_gambar yang akan dihapus.
Membuat File delete_gambar.phpFile ini digunakan untuk memproses data gambar yang akan dihapus, silahkan buka file delete_gambar.php, lalu isikan skripnya sebagai berikut : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 if(isset($_GET['id_gambar'])) { include('koneksi.php'); $id_gambar = $_GET['id_gambar']; $query = mysqli_query($koneksi,"select * from tb_gambar where id_gambar='$id_gambar'"); $data_gambar = $query->fetch_array();
$query_hapus = mysqli_query($koneksi,"delete from tb_gambar where id_gambar='$id_gambar'"); unlink('files/'.$data_gambar['gambar']); header('location:index.php'); } else { header('location:index.php'); } ?> Keterangan : 1 if(isset($_GET['id_gambar'])) Perintah ini digunakan untuk melakukan pengecekan, apakah saat mengakses file delete_gambar.php, terdapat variabel id_gambar dengan method get, jika ada maka akan menjalankan perintah di baris 4 – 11, jika tidak ada maka akan menjalankan code di baris 15 Baris 4 kita include file koneksi.php yang berisi koneksi ke database 1 $id_gambar = $_GET['id_gambar']; Baris 5 kita membuat variabel $id_gambar yang digunakan untuk menyimpan hasil data id_gambar yang dikirim melalui method get 1 2 $query = mysqli_query($koneksi,"select * from tb_gambar where id_gambar='$id_gambar'"); $data_gambar = $query->fetch_array(); Baris 6 kita membuat perintah untuk mendapatkan data di tb_gambar dengan id_gambar yang sesuai dengan variabel $id_gambar (id gambar yang akan dihapus) Baris 7 kita akan menyimpan data hasil query kedalam variabel $data_gambar, data yang disimpan akan berbentuk array karena perintah $query->fetch_array() 1 $query_hapus = mysqli_query($koneksi,"delete from tb_gambar where id_gambar='$id_gambar'"); Baris 9 kita menuliskan perintah untuk menghapus data di tabel tb_gambar yang id gambarnya sesuai dengan id_gambar yang akan dihapus 1 unlink('files/'.$data_gambar['gambar']); Baris 10 digunakan untuk menghapus gambar yang ada di folder files, data gambar disesuaikan dengan data mana yang dihapus Baris 11 digunakan untuk redirect ke file index.php ketika proses hapus gambar telah selesai.
Baik kurang lebih seperti itu teman – teman pembahasan tutorial kali ini, kita sudah belajar untuk membuat fitur upload file dengan PHP dan MySQL, untuk souce code hasil belajar bisa download disini Sekian dulu tutorial kali ini, sampai jumpa di tutorial selanjutnya.
ANDA INGIN SERIUS BELAJAR PEMROGRAMAN PHP ?Seperti yang anda ketahui bahwa saat ini skill di bidang pemrograman sangatlah dibutuhkan, salah satunya adalah pemograman PHP. Paket Tutorial ini berisi video tutorial belajar pemrograman berbahasa indonesia, cocok sekali untuk anda yang sedang belajar pemrograman PHP, bahkan untuk orang awam sekalipun. Paket Tutorial ini juga dilengkapi dengan study kasus yang akan mempermudah pemahaman anda dalam belajar pemrograman, Mari berinvestasi untuk menambah skill dalam menguasai Pemrograman PHP Berkas PHP disimpan dimana?Lokasinya akan disimpan di direktori temporari atau direktori sementara di server.
Move_uploaded_file untuk apa?PHP menyediakan fungsi yang bernama move_uploaded_file() yang memiliki fungsi untuk memindahkan file yang diupload ke lokasi baru.
Apa itu Fcpath?Konstata FCPATH adalah konstanta yang berisi alamat path untuk folder project. Jika kita menyimpan project di dalam C:\xampp\htdocs\beritacoding , maka FCPATH akan berisi alamat tersebut. Dengan demikian, kita bisa tambahkan folder /upload/avatar/ sebagai tempat menyimpan avatar yang terupload.
|