Membuat Web Simple Upload Dan Download File Dengan PHP MySQL
Membuat Web Simple Upload Dan Download File Dengan PHP MySQL
Oke, pada
kesempatan kali ini saya akan membuat sebuah website untuk Upload dan Download File
dengan PHP dan MySQL. Dimana nantinya User bisa melakukan Upload file di menu
Upload, dan kemudian file yang di Upload bisa di Download pada menu Download.
Dan berikut ini adalah screenshot dari file-file yang akan dibuat
Pertama seperti biasanya buat dahulu sebuah database di phpMyAdmin. Disini saya membuat
database dengan nama tutorial, kemudian Dumping kode SQL di bawah ini
Kode SQL
MySQL
DROP TABLE IF EXISTS `dow nlo
CREATE TABLE `dow nload` (
`id` int(11) NOT NULL auto_inc
`tanggal_upload` date NOT NU
Atau bisa juga dengan meng-Import file database.sql yang sudah disertakan pada file
download di bawah halaman ini.
Database dan Table sudah dibuat, sekarang kita buat dahulu script untuk melakukan koneksi
ke database.
Buat file baru dan beri nama config.php, dan kodenya seperti di bawah ini:
config.php
PHP
<?php
//koneksi ke database
mysql_connect("localhost", "roo
mysql_select_db("tutorial");
1 <?php
2 //koneksi ke database
3 mysql_connect("localhost", "root", "root");
4 mysql_select_db("tutorial");
5
6 //fungsi untuk mengkonversi size file
7 function formatBytes($bytes, $precision = 2) {
8 $units = array('B', 'KB', 'MB', 'GB', 'TB');
9
10 $bytes = max($bytes, 0);
11 $pow = floor(($bytes ? log($bytes) : 0) / log(1024));
12 $pow = min($pow, count($units) - 1);
13
14 $bytes /= pow(1024, $pow);
15
16 return round($bytes, $precision) . ' ' . $units[$pow];
17 }
18 ?>
Nah, dari kode di atas kita sudah bisa melakukan koneksi ke database, jangan lupa mengedit
detail koneksi ke database milik anda sendiri.
Dan juga dari kode di atas, dibuat sebuah fungsi untuk mengkonversi file size dari file yang
di upload nantinya.
Sekarang saatnya buat file yang pertama yaitu index.php. dan berikut ini isi kodenya:
index.php
PHP
<!DOCTYPE html>
<html>
<head>
<title>Simple Upload d
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Simple Upload dan Download File</title>
5 <link rel="stylesheet" type="text/css" href="style.css">
6 </head>
7 <body>
8
9 <div id="container">
10 <div id="header">
11 <h1>Simple Upload dan Download File</h1>
12 <span>Dibuat oleh Pino @tutorialweb.net</span>
13 </div>
14
15 <div id="menu">
16 <a href="index.php" class="active">Home</a>
17 <a href="upload.php">Upload</a>
18 <a href="download.php">Download</a>
19 </div>
20
21 <div id="content">
22 <h2>Home</h2>
23 <p>Selamat Datang!</p>
24 <p>Web Simple Download dan Upload File ini dibuat oleh
25 <strong>TUTORIALWEB.NET</strong>. Anda bisa mempublikasikan ulang, atau
26 merubah Source Code web ini. Jangan lupa untuk mengunjungi <a
27 href="http://www.tutorialweb.net/" target="_blank">TUTORIALWEB.NET</a> untuk
28 tutorial-tutorial pemrograman lainnya.</p>
29 </div>
</div>
</body>
</html>
Dalam file index.php ini tidak ada yang spesial, hanya salam perkenalan saja
Selanjutnya buat file baru dengan nama upload.php, dan isi kodenya seperti di bawah ini
upload.php
PHP
<!DOCTYPE html>
<html>
<head>
<title>Simple Upload d
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Simple Upload dan Download File</title>
5 <link rel="stylesheet" type="text/css" href="style.css">
6 </head>
7 <body>
8
9 <div id="container">
10 <div id="header">
11 <h1>Simple Upload dan Download File</h1>
12 <span>Dibuat oleh Pino @tutorialweb.net</span>
13 </div>
14
15 <div id="menu">
16 <a href="index.php">Home</a>
17 <a href="upload.php" class="active">Upload</a>
18 <a href="download.php">Download</a>
19 </div>
20
21 <div id="content">
22 <h2>Upload</h2>
23 <p>Upload file Anda dengan melengkapi form di bawah ini. File yang bisa di
24 Upload hanya file dengan ekstensi <b>.doc, .docx, .xls, .xlsx, .ppt, .pptx, .pdf, .rar,
25 .zip</b> dan besar file (file size) maksimal hanya 1 MB.</p>
26
27 <?php
28 include('config.php');
29 if($_POST['upload']){
30 $allowed_ext = array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'pdf', 'rar', 'zip');
31 $file_name = $_FILES['file']['name'];
32 $file_ext = strtolower(end(explode('.', $file_name)));
33 $file_size = $_FILES['file']['size'];
34 $file_tmp = $_FILES['file']['tmp_name'];
35
36 $nama = $_POST['nama'];
37 $tgl = date("Y-m-d");
38
39 if(in_array($file_ext, $allowed_ext) === true){
40 if($file_size < 1044070){
41 $lokasi = 'files/'.$nama.'.'.$file_ext;
42 move_uploaded_file($file_tmp, $lokasi);
43 $in = mysql_query("INSERT INTO download VALUES(NULL, '$tgl', '$nama',
44 '$file_ext', '$file_size', '$lokasi')");
45 if($in){
46 echo '<div class="ok">SUCCESS: File berhasil di Upload!</div>';
47 }else{
48 echo '<div class="error">ERROR: Gagal upload file!</div>';
49 }
50 }else{
51 echo '<div class="error">ERROR: Besar ukuran file (file size) maksimal 1 Mb!</div>';
52 }
53 }else{
54 echo '<div class="error">ERROR: Ekstensi file tidak di izinkan!</div>';
55 }
56 }
57 ?>
58
59 <p>
60 <form action="" method="post" enctype="multipart/form-data">
61 <table width="100%" align="center" border="0" bgcolor="#eee" cellpadding="2"
62 cellspacing="0">
63 <tr>
64 <td width="40%" align="right"><b>Nama
65 File</b></td><td><b>:</b></td><td><input type="text" name="nama" size="40"
66 required /></td>
67 </tr>
68 <tr>
69 <td width="40%" align="right"><b>Pilih
70 File</b></td><td><b>:</b></td><td><input type="file" name="file" required /></td>
71 </tr>
72 <tr>
73 <td> </td><td> </td><td><input type="submit" name="upload"
74 value="Upload" /></td>
75 </tr>
</table>
</form>
</p>
</div>
</div>
</body>
</html>
File ini akan membuat Form untuk Upload File dan juga Proses untuk Upload File.
Dan sekarang buat file lagi dan beri nama download.php, dan isi kodenya seperti di bawah
ini
download.php
PHP
<!DOCTYPE html>
<html>
<head>
<title>Simple Upload d
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Simple Upload dan Download File</title>
5 <link rel="stylesheet" type="text/css" href="style.css">
6 </head>
7 <body>
8
9 <div id="container">
10 <div id="header">
11 <h1>Simple Upload dan Download File</h1>
12 <span>Dibuat oleh Pino @tutorialweb.net</span>
13 </div>
14
15 <div id="menu">
16 <a href="index.php">Home</a>
17 <a href="upload.php">Upload</a>
18 <a href="download.php" class="active">Download</a>
19 </div>
20
21 <div id="content">
22 <h2>Download</h2>
23 <p>Silahkan download file yang sudah di Upload di website ini. Untuk men-
24 Download Anda bisa mengklik Judul file yang di inginkan.</p>
25
26 <p>
27 <table class="table" width="100%" cellpadding="3" cellspacing="0">
28 <tr>
29 <th width="30">No.</th>
30 <th width="80">Tgl. Upload</th>
31 <th>Nama File</th>
32 <th width="70">Tipe</th>
33 <th width="70">Ukuran</th>
34 </tr>
35 <?php
36 include('config.php');
37 $sql = mysql_query("SELECT * FROM download ORDER BY id DESC");
38 if(mysql_num_rows($sql) > 0){
39 $no = 1;
40 while($data = mysql_fetch_assoc($sql)){
41 echo '
42 <tr bgcolor="#fff">
43 <td align="center">'.$no.'</td>
44 <td align="center">'.$data['tanggal_upload'].'</td>
45 <td><a href="'.$data['file'].'">'.$data['nama_file'].'</a></td>
46 <td align="center">'.$data['tipe_file'].'</td>
47 <td align="center">'.formatBytes($data['ukuran_file']).'</td>
48 </tr>
49 ';
50 $no++;
51 }
52 }else{
53 echo '
54 <tr bgcolor="#fff">
55 <td align="center" colspan="4" align="center">Tidak ada data!</td>
56 </tr>
57 ';
58 }
59 ?>
60 </table>
61 </p>
62 </div>
63 </div>
64
65 </body>
</html>
Dalam file download ini akan menampilkan sebuah Table yang berisi file-file yang telah di
upload, dan akan ada link untuk men-Download file tersebut.
Untuk mempercantik tampilannya, di bawah ini adalah kode CSS-nya, dan simpan dengan
nama style.css.
style.css
CSS
@charset "utf-8";
/* CSS Document */
body {
1 @charset "utf-8";
2 /* CSS Document */
3
4 body {
5 font-family:Tahoma, Geneva, sans-serif;
6 font-size:12px;
7 background-color:#eee;
8 margin:0;
9 padding:0;
10 }
11
12 h1, h2, h3 {
13 margin:0;
14 padding:0;
15 }
16
17 #container {
18 width:500px;
19 margin:20px auto;
20 padding:10px;
21 background-color:#fff;
22 box-shadow:0px 0px 3px #000;
23 }
24
25 #header {
26 text-align:center;
27 }
28
29 #menu {
30 text-align:center;
31 margin:15px 0px;
32 border-top:1px solid #CCC;
33 border-bottom:1px solid #CCC;
34 }
35
36 #menu a {
37 display:inline-block;
38 padding:5px 10px;
39 text-decoration:none;
40 color:#000;
41 font-weight:bold;
42 }
43
44 #menu a:hover {
45 background-color:#CCC;
46 }
47
48 #menu a.active {
49 background-color:#CCC;
50 }
51
52 .table, th, td {
53 border-collapse:collapse;
54 border:1px solid #ccc;
55 }
56
57 .table th {
58 background-color:#CCC;
59 }
60
61 .error {
62 border:1px solid #FF8080;
63 background-color:#FFCECE;
64 padding:3px;
65 margin:5px 0px;
66 text-align:center;
67 }
68
69 .ok {
70 border:1px solid #80FF80;
71 background-color:#CFC;
72 padding:3px;
73 margin:5px 0px;
74 text-align:center;
75 }
Nah, sudah selesai. Jangan lupa za untuk Rate, Like dan Share artikel ini. Kalau mau
download file yang sudah jadi bisa di bawah ini.