Pemrograman CSS HTML Javascript PHP

Cara Membuat Fitur Upload dan Download File Cloud di PHP Native

Cara Membuat Fitur Upload dan Download File Cloud di PHP Native – Halo bret !!! kali ini saya akan share ke kalian cara membuat fitur upload dan download file seperti cloud storage, fitur tersebut bisa mempermudah penyimpanan data kalian secara pribadi di cloud kalian sendiri, tapi tentunya kalian harus membuat keamanan yang kuat pada cloud tsb untuk menjaga data kalian agar tetap aman dan terhindar dari hal-hal yang tidak di inginkan.

Pertama kalian harus membuat database nya dulu dengan nama ‘uploadfile’ dan buat table dengan memasukkan code SQL berikut.

DROP TABLE IF EXISTS `download`;CREATE TABLE `download` (  `id` int(11) NOT NULL auto_increment,  `tanggal_upload` date NOT NULL,  `nama_file` varchar(100) NOT NULL,  `tipe_file` varchar(10) NOT NULL,  `ukuran_file` varchar(20) NOT NULL,  `file` varchar(255) NOT NULL,  PRIMARY KEY  (`id`)) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

Langkah selanjutnya kalian buat tampilan page halaman depannya dengan membuat file dengan nama index.php, dan isikan code berikut.

<!DOCTYPE html>
<html>
<head>
	<title>Simple Upload dan Download File</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

	<div id="container">
    	<div id="header">
    		<h1>Simple Upload dan Download File</h1>
        	
        </div>
        
        <div id="menu">
        	<a href="index.php" class="active">Home</a>
            <a href="upload.php">Upload</a>
            <a href="download.php">Download</a>
        </div>
        
        <div id="content">
        	<h2>Home</h2>
            <p>Selamat Datang!</p>
            <p>Web Simple Download dan Upload File ini dibuat oleh <strong><www class="adinyahya com"></www></strong>. Anda bisa mempublikasikan ulang, atau merubah Source Code web ini. Jangan lupa untuk mengunjungi <a href="http://www.adinyahya.com/" target="_blank">adinyahya.com</a> untuk tutorial-tutorial pemrograman lainnya.</p>
        </div>
    </div>

</body>
</html>

Buat configurasinya dengan cara membuat file dengan nama config.php dan masukkan code berikut.

<?php
//koneksi ke database
$servername = "localhost";
$username = "root";
$password = "";
$dbbreak = "uploadfile";
$connect = new mysqli($servername, $username, $password, $dbbreak);
	   if ($connect->connect_error) 
	   {
           die("Connect Error: " . $connect->connect_error);
           }
           else
           {
           }
//fungsi untuk mengkonversi size file
function formatBytes($bytes, $precision = 2) { 
    $units = array('B', 'KB', 'MB', 'GB', 'TB'); 
    $bytes = max($bytes, 0); 
    $pow = floor(($bytes ? log($bytes) : 0) / log(1024)); 
    $pow = min($pow, count($units) - 1); 

    $bytes /= pow(1024, $pow); 

    return round($bytes, $precision) . ' ' . $units[$pow]; 
} 
?>

Setting koneksi sesuai dengan servername dan nama database kalian.

Lalu buat file dengan nama upload.php, lalu masukkan code berikut.

<!DOCTYPE html>
<html>
<head>
	<title>Simple Upload dan Download File</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

	<div id="container">
    	<div id="header">
    		<h1>Simple Upload dan Download File</h1>
       
        </div>
        
        <div id="menu">
        	<a href="index.php">Home</a>
            <a href="upload.php" class="active">Upload</a>
            <a href="download.php">Download</a>
        </div>
        
        <div id="content">
        	<h2>Upload</h2>
            <p>Upload file Anda dengan melengkapi form di bawah ini. File yang bisa di Upload hanya file dengan ekstensi <b>.doc, .docx, .xls, .xlsx, .ppt, .pptx, .pdf, .rar, .zip</b> dan besar file (file size) maksimal hanya 1 MB.</p>
            
            <?php
			include('config.php');
			if($_POST){
				$allowed_ext	= array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'pdf', 'rar', 'zip');
				$file_name		= $_FILES['file']['name'];
				$file_ext		= strtolower(end(explode('.', $file_name)));
				$file_size		= $_FILES['file']['size'];
				$file_tmp		= $_FILES['file']['tmp_name'];
				
				$nama			= $_POST['nama'];
				$tgl			= date("Y-m-d");
				
				if(in_array($file_ext, $allowed_ext) === true){
					if($file_size < 1044070){
						$lokasi = 'files/'.$nama.'.'.$file_ext;
						move_uploaded_file($file_tmp, $lokasi);
						$php = "INSERT INTO download VALUES(NULL, '$tgl', '$nama', '$file_ext', '$file_size', '$lokasi')";
							$in = mysqli_query($connect,$php);
						if($in){
							echo '<div class="ok">SUCCESS: File berhasil di Upload!</div>';
						}else{
							echo '<div class="error">ERROR: Gagal upload file!</div>';
						}
					}else{
						echo '<div class="error">ERROR: Besar ukuran file (file size) maksimal 1 Mb!</div>';
					}
				}else{
					echo '<div class="error">ERROR: Ekstensi file tidak di izinkan!</div>';
				}
			}
			?>
            
            <p>
            <form action="" method="post" enctype="multipart/form-data">
            <table width="100%" align="center" border="0" bgcolor="#eee" cellpadding="2" cellspacing="0">
            	<tr>
                	<td width="40%" align="right"><b>Nama File</b></td><td><b>:</b></td><td><input type="text" name="nama" size="40" /></td>
                </tr>
                <tr>
                	<td width="40%" align="right"><b>Pilih File</b></td><td><b>:</b></td><td><input type="file" name="file" required /></td>
                </tr>
                <tr>
                	<td> </td><td> </td><td><input type="submit" name="upload" value="Upload" /></td>
                </tr>
            </table>
            </form>
            </p>
        </div>
    </div>

</body>
</html>

Code berikut berfungsi untuk mengupload data, dengan memfilter sesuai extensi yang sudah di deklarasikan, dan sesuai batas size upload.

Lalu buat file dengan nama download.php, lalu masukkan code berikut.

<!DOCTYPE html>
<html>
<head>
	<title>Simple Upload dan Download File</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

	<div id="container">
    	<div id="header">
    		<h1>Simple Upload dan Download File</h1>
        </div>
        
        <div id="menu">
        	<a href="index.php">Home</a>
            <a href="upload.php">Upload</a>
            <a href="download.php" class="active">Download</a>
        </div>
        
        <div id="content">
        	<h2>Download</h2>
            <p>Silahkan download file yang sudah di Upload di website ini. Untuk men-Download Anda bisa mengklik Judul file yang di inginkan.</p>
            
            <p>
            <table class="table" width="100%" cellpadding="3" cellspacing="0">
            	<tr>
                	<th width="30">No.</th>
                    <th width="80">Tgl. Upload</th>
                    <th>Nama File</th>
                    <th width="70">Tipe</th>
                    <th width="70">Ukuran</th>
                </tr>
                <?php
				include('config.php');
				$sql = mysqli_query($connect, "SELECT * FROM download ORDER BY id DESC");
				if(mysqli_num_rows($sql) > 0){
					$no = 1;
					while($data = mysqli_fetch_assoc($sql)){
						echo '
						<tr bgcolor="#fff">
							<td align="center">'.$no.'</td>
							<td align="center">'.$data['tanggal_upload'].'</td>
							<td><a href="'.$data['file'].'">'.$data['nama_file'].'</a></td>
							<td align="center">'.$data['tipe_file'].'</td>
							<td align="center">'.formatBytes($data['ukuran_file']).'</td>
						</tr>
						';
						$no++;
					}
				}else{
					echo '
					<tr bgcolor="#fff">
						<td align="center" colspan="4" align="center">Tidak ada data!</td>
					</tr>
					';
				}
				?>
            </table>
            </p>
        </div>
    </div>

</body>
</html>

Code berikut berfungsi untuk menampilkan semua data termasuk (nama, size, tanggal upload, nama extensi) yang sudah di upload, dan sekaligus memberikan fitur download ketika di klik pada bagian nama file nya.

Yang terakhir buat file dengan nama style.css untuk mempercantik tampilan web kalian, kalian bisa gunakan style kalian sendiri.

@charset "utf-8";
/* CSS Document */

body {
	font-family:Tahoma, Geneva, sans-serif;
	font-size:12px;
	background-color:#eee;
	margin:0;
	padding:0;
}

h1, h2, h3 {
	margin:0;
	padding:0;
}

#container {
	width:500px;
	margin:20px auto;
	padding:10px;
	background-color:#fff;
	box-shadow:0px 0px 3px #000;
}

#header {
	text-align:center;
}

#menu {
	text-align:center;
	margin:15px 0px;
	border-top:1px solid #CCC;
	border-bottom:1px solid #CCC;
}

	#menu a {
		display:inline-block;
		padding:5px 10px;
		text-decoration:none;
		color:#000;
		font-weight:bold;
	}
	
		#menu a:hover {
			background-color:#CCC;
		}
		
		#menu a.active {
			background-color:#CCC;
		}

.table, th, td {
	border-collapse:collapse;
	border:1px solid #ccc;
}

	.table th {
		background-color:#CCC;
	}
	
.error {
	border:1px solid #FF8080;
	background-color:#FFCECE;
	padding:3px;
	margin:5px 0px;
	text-align:center;
}

.ok {
	border:1px solid #80FF80;
	background-color:#CFC;
	padding:3px;
	margin:5px 0px;
	text-align:center;
}

Dan akhirnya selesai sudah 😀

Demikian Cara Membuat Fitur Upload dan Download File Cloud di PHP Native, silahkan kembangkan lagi sesuai kebutuhan kalian. semoga bermanfaat bagi kalian, selamat mencoba yaaaa

Avatar

Adin Yahya

About Author

Leave a comment

Your email address will not be published. Required fields are marked *

You may also like

Pemrograman Node.js

Cara Membuat Telegram Bot API

Cara Membuat Telegram Bot API – Halo bret kali ini saya akan share cara membuat bot telegram, Telegram merupakan alat
Pemrograman PHP

Cara Membuat Database MySQL di Phpmyadmin

Membuat Database MySQL di Phpmyadmin – Halo bret !! Kali ini saya akan share cara membuat database MySQL di Phpmyadmin,