0% menganggap dokumen ini bermanfaat (0 suara)
2K tayangan9 halaman

Membuat Web Simple Upload Dan Download File Dengan PHP MySQL

Dokumen tersebut memberikan tutorial singkat tentang cara membuat website sederhana untuk mengupload dan mengunduh file dengan PHP dan MySQL. Website tersebut memungkinkan pengguna untuk mengupload file di menu Upload dan mengunduh file yang diunggah di menu Download.

Diunggah oleh

nitaq
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
2K tayangan9 halaman

Membuat Web Simple Upload Dan Download File Dengan PHP MySQL

Dokumen tersebut memberikan tutorial singkat tentang cara membuat website sederhana untuk mengupload dan mengunduh file dengan PHP dan MySQL. Website tersebut memungkinkan pengguna untuk mengupload file di menu Upload dan mengunduh file yang diunggah di menu Download.

Diunggah oleh

nitaq
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 9

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.

Beberapa fitur yang akan dibuat adalah:

User bisa Upload


User bisa Download
Pembatasan pada ektensi file yang bisa di Upload, hanya bisa Upload file dengan
ekstensi doc, docx, xls, xlsx, ppt, pptx, pdf, rar, zip (bisa dirubah)
Pembatasan file size 1 MB (bisa dirubah)

Dan berikut ini adalah screenshot dari file-file yang akan dibuat

Oke, langsung saja mulai ke tutorialnya.

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

1 DROP TABLE IF EXISTS `download`;


2 CREATE TABLE `download` (
3 `id` int(11) NOT NULL auto_increment,
4 `tanggal_upload` date NOT NULL,
5 `nama_file` varchar(100) NOT NULL,
6 `tipe_file` varchar(10) NOT NULL,
7 `ukuran_file` varchar(20) NOT NULL,
8 `file` varchar(255) NOT NULL,
9 PRIMARY KEY (`id`)
10 );

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>&nbsp;</td><td>&nbsp;</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.

Berikut ini sedikit penjelasan Kode dari file upload.php

Line Penjelasan Kode


57- Membuat form yang berisi inputan judul, inputan pemilihan file, dan tombol untuk
69 upload
26 meng-include-kan file config.php yang berisikan koneksi ke database
28 membuat array yang berisikan file ber-ekstensi apa saja yang bisa di upload
29- mendeklarasikan beberapa properti dari inputan file, seperti nama file, file ekstensi, file
32 size, dan file tmp
34-
mendeklarasikan judul dan tanggal sekarang
35
pengecekan apakah file ekstensi ada dalam array ekstensi yang di izinkan, jika ada
37
(true) maka berhasil
pengecekan apakah file size tidak lebih besar dari 1044070 (1Mb), jika lebih kecil,
38
maka berhasil
menentukan lokasi menyimpanan/upload file, yaitu file akan di upload didalam folder
39
files, dan merubah nama file yang diupload menjadi judul yang di inputkan tadi.
40 melakukan proses upload dengan fungsi move_uploaded_file()
41 melakukan query ke database untuk melakukan perintah INSERT data
43 pesan jika file berhasil di upload dan data tersimpan ke database

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.

Berikut ini sedikit penjelasan dari file download.php

Line Penjelasan Kode


26-
membuat table seperti biasa
59
meng-include-kan file config.php yang berisi kode untuk melakukan koneksi ke
35
database
melakukan query ke database dengan perintah SELECT dari table download dan di
36
urutkan berdasarkan id yang paling besar
jika query diatas menghasilkan nilai > 0 (terdapat data di dalam tabel) maka akan
37
melakukan perintah dibawahnya
38 membuat variabel untuk nomor urut
39 melakukan perulangan while dari query SELECT pada line 37
40-
menampilkan data dari perulangan yang mengambil dari table download
49
51- jika query pada line 37 menghasilkan nilai 0 (tidak ada data di database) maka akan
57 menuliskan pesan tidak ada data

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.

Anda mungkin juga menyukai