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: