Upload adalah sebuah proses mengcopy
file dari komputer client ke komputer server, hampir semua aplikasi
pasti mempunyai fitur ini untuk kebutuhkan tertentu. sebagai contoh jika
anda adalah pengguna media sosial pasti sudah familiar dengan kegiatan
upload foto profile. nah ini adalah salah satu contoh dari implementasi
dari fitur upload dimana pengguna bisa memilih foto dan kemudian
informasi ini disimpan di database untuk ditampilkan nantinya. pada
postingan ini anda akan belajar cara mengupload file menggunakan bahasa
pemograman PHP.
Membuat Form Input Data Buku
Pada tahap ini kita akan membuat sebuah form sebagai interface bagi
pengguna untuk menginput data buku dan mengupload cover buku tersebut.
silahkan buat sebuah file dengan nama form-input.php dan tulis script
ini :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Belajarphp.net - Upload</title>
</head>
<body>
<h3>Form Input Data Buku</h3>
<form action="simpan.php" method="post" enctype="multipart/form-data">
<table>
<tr><td>Judul Buku</td><td><input type="text" name="judul" placeholder="Judul Buku"></td></tr>
<tr><td>Cover</td><td><input type="file" name="cover"></td></tr>
<tr><td></td><td><button type="submit">Simpan Data</button></td></tr>
</table>
</form>
</body>
</html>
|
jangan lupa save untuk menyimpan perubahan. sekarang silahkan buka
web browser anda dan masukan http://localhost/upload/form-buku.php untuk
melihat hasilnya.
selanjutnya kita akan membuat fungsi untuk mengupload file dari
komputer client ke server, silahkan buat sebuah file baru dengan nama
simpan.php dan tulis script ini :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?php
$temp = $_FILES['cover']['tmp_name'];
$name = $_FILES['cover']['name'];
$size = $_FILES['cover']['size'];
$type = $_FILES['cover']['type'];
$folder = "files/";
// upload
move_uploaded_file($temp, $folder.$name);
// menampikan informasi file yang di upload
echo "Nama File : <b>".$name;
echo "</b><br>";
echo "Ukuran File : <b>".$size;
echo "</b> Byte<br>";
echo "Type File : <b>".$type;
echo "</b>";
?>
|
Lalu silahkan input judul buku, pilih cover nya dan klik button simpan, jika berhasil maka akan muncul informasi seperti ini :
Melakukan Validasi Inputan
adakalanya kita harus melakukan validasi
terhadap file yang di upload, misalnya untuk data cover buku hanya
boleh berupa gambar dan ukuran nya tidak boleh lebih dari 1MB, kita bisa
melakukan nya dengan memodifikasi script sehingga menjadi seperti ini :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?php
$temp = $_FILES['cover']['tmp_name'];
$name = $_FILES['cover']['name'];
$size = $_FILES['cover']['size'];
$type = $_FILES['cover']['type'];
$folder = "files/";
// upload Process
if ($size < 1024000 and $type =='image/jpg') {
move_uploaded_file($temp, $folder . $name);
// menampikan informasi file yang di upload
echo "Nama File : <b>" . $name;
echo "</b><br>";
echo "Ukuran File : <b>" . $size;
echo "</b> Byte<br>";
echo "Type File : <b>" . $type;
echo "</b>";
}else{
echo "Gagal Upload File";
}
?>
|
lalu silahkan coba upload file yang ukuran nya lebih dari 1MB atau
yang tipe file nya bukan jpg, maka ketika anda melakukan proses upload
akan muncul informasi seperti dibawah ini
Menyimpan Informasi File Yang Di Upload Ke Database
untuk bisa menimpan data yang di upload
ke database maka kita harus membuat tabel terlebih dahulu, silahkan buat
sebuah tabel dengan nama tabel_buku dengan field field sebagai berikut :
Atau jika anda malas membuat secara manual maka silahkan menggunakan SQL Query ini :
|
CREATE TABLE `tabel_buku` (
`id` int(11) NOT NULL,
`judul` varchar(100) NOT NULL,
`cover` text NOT NULL,
`ukuran_file` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `tabel_buku`
ADD PRIMARY KEY (`id`);
ALTER TABLE `tabel_buku`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
lalu silahan lakukan modifikasi file simpan.php sehingga menjadi seperti 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
|
<?php
// membuat koneksi ke database
$host = "localhost";
$user = "root";
$password = "";
$database = "test";
$connect = mysqli_connect($host, $user, $password, $database);
// end membuat koneksi
$temp = $_FILES['cover']['tmp_name'];
$name = $_FILES['cover']['name'];
$size = $_FILES['cover']['size'];
$type = $_FILES['cover']['type'];
$folder = "files/";
// proses validasi
if ($size < 1024000 and $type =='image/jpeg') {
// upload Process
move_uploaded_file($temp, $folder . $name);
// insert data ke database
mysqli_query($connect, "insert into tabel_buku set judul='".$_POST['judul']."',cover='$name',ukuran_file='$size'");
// menampikan informasi file yang di upload
echo "Nama File : <b>" . $name;
echo "</b><br>";
echo "Ukuran File : <b>" . $size;
echo "</b> Byte<br>";
echo "Type File : <b>" . $type;
echo "</b>";
}else{
echo "Gagal Upload File";
}
?>
|
lalu silahkan upload file yang memenuhi kriteria yang sudah kita
tentukan agar proses upload berhasil dan datanya masuk ke database. jika
sudah berhasil silahkan chek isi dari tabel_buku tersebut.
sampai disini anda sudah bisa membuat fitur upload file dan menyimpan informasi nya ke database.
No comments:
Post a Comment