Upload Download File dengan PHP MYSQLi
Tutorial Membuat Upload Download File dengan PHP MYSQLi , Cara yang mudah membuat Upload file dengan PHP Mysqli admin akan jelaskan disini , sebelumnya sudah pada tau kan fitur upload file itu.. ????Fitur upload dapat digunakan untuk mengunggah file berupa gambar, dokumen word, powerpoint, excel, zip, dll. Anda bisa Upload File PDF ke database, coding Upload file dengan PHP ke database mysql dengan extensi mysqli ini dapat anda modifikasi sesuai dengan kebutuhan
Sebelumnya admin sudah membahas Tutorial Dasar Upload File dengan PHP , Bagi anda yang belum mengetahui Dasar dari Upload File silahkan dibaca terlebih dahulu artikel tersebut. pastinya artikel Cara Dasar Membuat Upload File dengan php diatas akan sangat berguna untuk anda.
Nah Dalam Kesempatan ini kita akan Membuat Upload File dengan PHP dan MYSQLi , bedanya apa dari artikel sebelumnya.. ?? disini kita akan menyimpan data nya di database mysql.
sedikit flash back.. perlu kita ketahui dasar dari upload file :
1. Dalam Form harus ada properti enctype="multipart/form-data" , atribut tersebut paling penting tidak boleh tidak ada.. contoh penggunaanya <form action="filetarget" method="post" enctype="multipart/form-data">
2. $_FILES['file']['type'] => Fungsi ini digunakan untuk mengetahui jenis file yang di upload
$_FILES['file']['name'] => Fungsi ini digunakan untuk mengetahui nama file yang di upload
$_FILES['file']['size'] => Fungsi ini digunakan untuk mengetahui ukuran file yang di upload
Nah.. langsung saja Cara Membuat Upload File dengan PHP MYSQLi , yuk ikuti dan praktekan code dibawah ini :
1. Buat database dengan nama "upload" , struktur tabel seperti gambar dibawah ini :
2. kemudian kita buat file upload nya yaitu upload.php :
<html>
<title>Form Upload</title>
<body>
<form enctype="multipart/form-data" method="POST" action="proses.php">
File yang di upload : <input type="file" name="fupload"><br>
Deskripsi File : <br>
<textarea name="deskripsi" rows="8" cols="40"></textarea><br>
<input type=submit value=Upload>
</form>
3. Setelah itu, kita buat file proses.php , file ini sebagai proses insert ke database dan upload filenya :
<?php
// Baca lokasi file sementar dan nama file dari form (fupload)
$lokasi_file = $_FILES['fupload']['tmp_name'];
$nama_file = $_FILES['fupload']['name'];
// Tentukan folder untuk menyimpan file
$folder = "files/$nama_file";
// tanggal sekarang
$tgl_upload = date("Ymd");
// Apabila file berhasil di upload
if (move_uploaded_file($lokasi_file,"$folder")){
echo "Nama File : <b>$nama_file</b> sukses di upload";
// Masukkan informasi file ke database
$konek = mysqli_connect("localhost","root","","upload");
$query = "INSERT INTO upload (nama_file, deskripsi, tgl_upload)
VALUES('$nama_file', '$_POST[deskripsi]', '$tgl_upload')";
mysqli_query($konek, $query);
}
else{
echo "File gagal di upload";
}
?>
4. Buat Folder dengan nama "files" , letakkan bersama 2 file diatas, jadi susunan di htdocs misalnya di folder "htdocs/upload_file" ada 3 file yaitu : upload.php , proses.php dan folder bernama files
5. Sampai disini anda dapat menjalankan aplikasi Upload File dengan PHP dan Mysqli nya,
6. Nah.. jika kita ingin membuat Download File untuk menampilkan data nya.. kita buat file download.php
<html>
<title>Aplikasi Download</title>
<body>
<?php
$konek = mysqli_connect("localhost","root","","upload");
$query = "SELECT * FROM upload ORDER BY id_upload DESC";
$hasil = mysqli_query($konek, $query);
while ($r = mysqli_fetch_array($hasil)){
echo "Nama File : <b>$r[nama_file]</b> <br>";
echo "Deskripsi : $r[deskripsi] <br>";
echo "<a href=\"download.php?file=$r[nama_file]\">Download File</a><hr><br>";
}
?>
7. Sampai disini data bisa kita tampilkan, nah untuk membuat link download nya berfungsi , kita buat file "download.php" lagi.. berikut scriptnya .
<?php
// Downloads files
// Tentukan folder file yang boleh di download
$folder = "files/";
$filename = $_GET['file'];
$file_extension = strtolower(substr(strrchr($filename,"."),1));
// Lalu cek menggunakan fungsi file_exist
if (!file_exists($folder.$_GET['file'])) {
echo "<h1>Access forbidden!</h1>
<p>File Sudah Tidak Ada</p>";
exit;
}
else if ($file_extension=='php'){
echo "<h1>Access forbidden!</h1>
<p>Maaf, file yang Anda download sudah tidak tersedia atau filenya (direktorinya) telah diproteksi. <br />.</p>";
exit;
}
// Apabila mendownload file di folder
else {
//header("Cache-Control: public");
//header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=".basename($filename));
header("Content-Type: application/octet-stream;");
//header("Content-Transfer-Encoding: binary");
readfile("files/".$filename);
}
?>