Cara menggunakan upload file word php

Berikutnya, membuat bentuk HTML yang memungkinkan pengguna untuk memilih file gambar yang mereka ingin meng-upload:






    Select image to upload:
   
   



Beberapa aturan untuk mengikuti untuk bentuk HTML di atas:

  • Pastikan bahwa bentuk menggunakan metode = "post"
  • Bentuknya juga membutuhkan following atribut: enctype = "multipart / form-data". Ini menentukan yang konten-jenis untuk digunakan ketika mengirimkan formulir

Tanpa persyaratan di atas, file upload tidak akan bekerja.

Hal-hal lain untuk melihat:

  • The type="file" atribut dari tag menunjukkan field input sebagai kontrol berkas-pilih, dengan "Browse" tombol di samping kontrol input

Form diatas mengirimkan data ke sebuah file yang bernama "upload.php" , yang akan kita buat berikutnya.


Buat The Upload file PHP Script

The "upload.php" file berisi kode untuk meng-upload file:

$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}
?>

Script PHP menjelaskan:

  • $ target_dir = "uploads/" - menentukan direktori dimana file tersebut akan ditempatkan
  • $ Target_file menentukan path dari file yang akan di-upload
  • $ uploadOk = 1 tidak digunakan belum (will be used later)
  • $ ImageFileType memegang ekstensi file dari file
  • Berikutnya, memeriksa apakah file gambar adalah gambar sebenarnya atau gambar palsu

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 Ada

Sekarang 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
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}


Ukuran batas Berkas

Field 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
if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}


Jenis batas Berkas

Kode 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 data

Pada 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

Cara menggunakan upload file word php

3.Lalu buat tabel dengan nama tb_gambar, dengan jumlah 5 kolom, lalu klik tombol kirim.

Cara menggunakan upload file word php

4. Berikutnya buat kolom – kolom yang ada di tabel tb_gambar, seperti berikut ini :

Cara menggunakan upload file word php

Keterangan : 

  • id_gambar (integer, primary key, auto increment)
  • gambar (varchar 255)
  • keterangan (varchar 255)
  • tipe_gambar (varchar 255)
  • ukuran_gambar (integer)

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 Project

Setelah 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 :

  1. koneksi.php
  2. form_upload.php
  3. index.php
  4. delete_gambar.php

lalu buat 1 folder dengan nama files, folder ini nanti yang berisi gambar hasil upload, jadi kurang lebih hasilnya adalah seperti berikut ini :

Cara menggunakan upload file word php

 

Membuat file koneksi ke database

Langkah 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 : 

  • perintah diatas digunakan untuk koneksi ke database db_upload yang sebelumnya telah kita buat.
  • $host dengan nilai “localhost” yang merupakan alamat server databasenya
  • $user dengan nilai “root” yang merupakan user dari databasenya
  • $password dengan nilai “” yang merupakan password untuk mengakses database, nilainya kosong karena default dari xampp untuk password user root adalah kosong
  • $database dengan nilai “db_upload” yang merupakan nama dari database yang sebelumnya telah kita buat
  • Baris 6 adalah perintah untuk melakukan koneksi ke database, dan hasilnya disimpan di variabel $koneksi.

 

Membuat form untuk upload file

Setelah 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

Cara menggunakan upload file word php

Keterangan : 

  • Baris 25 (form_upload.php) kita membuat form dengan method=”post”, action dibiarkan kosong karena akan diproses di file ini sendiri, dan kita menggunakan perintah enctype=”multipart/form-data” karena akan membuat fitur upload file
  • Baris 29 (form_upload.php) kita membuat input dengan type file, untuk name kita beri nama “gambar”, perintah ini yang digunakan untuk membuat input form untuk upload gambar.
  • Baris 32 (form_upload.php) kita membuat textarea dengan name “keterangan” untuk menyimpan bagian keterangan.
  • Baris 37 (form_upload.php) kita membuat tombol submit dengan name “tombol”

 

Mencoba Upload File

Sebelum 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 :

Cara menggunakan upload file word php

berikutnya silahkan klik tombol “Submit”.

Jika tidak menampilkan pesan error, berarti proses uploadnya berhasil, berikutnya silahkan cek tb_gambar didatabase db_upload.

Cara menggunakan upload file word php

terlihat ada 1 record yang berisi data file yang barusan kita upload.

Silahkan coba cek folder files, di folder project kita,

Cara menggunakan upload file word php

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 :

  • yang pertama adalah temporary file yang diupload, dalam contoh ini adalah variabel $temp
  • yang kedua adalah lokasi path yang digunakan untuk menyimpan file yang diupload, dalam hal ini $folder . $name

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 gambar

Setelah 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

Cara menggunakan upload file word php

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.php

File 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.
Untuk anda yang ingin serius belajar pemrograman PHP, Warung Belajar Memiliki Beberapa Paket Tutorial yang bisa membantu anda dalam belajar Pemrograman PHP, dari mulai step – step dasar hingga mampu membuat aplikasi berbasis web dengan menggunakan 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.