Karena itu, saya akan membuat tutorial upload dan download file.
Tutorialnya memang agak cukup panjang, tapi tenang saja saja karena pada akhir tulisan saya akan membagikan Source Codenya
-Upload File-
Pertama kita buat database dan tabelnya, disini saya beri nama database adalah upload dan tabelnya juga upload
Kedua buat Folder untuk menampung file-file yang di upload, misalnya folder files
Ketiga buat script untuk form uploadnya
script form upload.php
<html>
<title>Form Upload</title>
<body>
<form enctype="multipart/form-data" method="POST" action="hasil_upload.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>
Keempat buat Script hasil upload
script hasil_upload.php
<?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";
}
?>
Upload File dan deskripsi lalu klik upload
saat file berhasil di upload, maka tampilannya akan berubah seperti ini
untuk memastikan apakan file telah berhasil di upload, buka direktori files
-Download File-
Saya telah berhasil membuat upload file, sekarang saya akan membuat kebalikannya, yaitu download file.
Sederhanya,
aplikasi download file menyediakan link terhadap file yang akan kita
download, dimana link itu di klik makan terjadilah proses download.
Pertama saya buat file berisi script untuk menampilkan files yang available untuk di download
script 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=\"simpan.php?file=$r[nama_file]\">Download File</a><hr><br>";
}
?>
<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=\"simpan.php?file=$r[nama_file]\">Download File</a><hr><br>";
}
?>
Kedua saya buat file berisi script untuk menyimpan file yang di download
script simpan.php
script simpan.php
<?php
// Tentukan folder file yang boleh di download
$folder = "files/";
// Lalu cek menggunakan fungsi file_exist
if (!file_exists($folder.$_GET['file'])) {
echo "<h1>Access forbidden!</h1>
<p> Anda tidak diperbolehkan mendownload file ini.</p>";
exit;
}
// Apabila mendownload file di folder files
else {
header("Content-Type: octet/stream");
header("Content-Disposition: attachment;
filename=\"".$_GET['file']."\"");
$fp = fopen($folder.$_GET['file'], "r");
$data = fread($fp, filesize($folder.$_GET['file']));
fclose($fp);
print $data;
}
?>
Tinggal Download saja Filenya
ok, sekian tutorial singkat ini, semoga bisa berguna
// Tentukan folder file yang boleh di download
$folder = "files/";
// Lalu cek menggunakan fungsi file_exist
if (!file_exists($folder.$_GET['file'])) {
echo "<h1>Access forbidden!</h1>
<p> Anda tidak diperbolehkan mendownload file ini.</p>";
exit;
}
// Apabila mendownload file di folder files
else {
header("Content-Type: octet/stream");
header("Content-Disposition: attachment;
filename=\"".$_GET['file']."\"");
$fp = fopen($folder.$_GET['file'], "r");
$data = fread($fp, filesize($folder.$_GET['file']));
fclose($fp);
print $data;
}
?>
apabila dijalankan scriptnya maka
ok, sekian tutorial singkat ini, semoga bisa berguna
Terima kasih atas source codenya, tp gimana cara kita linkkan agar file dapat di upload/download oleh setiap user tanpa di tampilkan ke user lain. sekali lagi terima kasih..!
ReplyDeleteok sama sama
Deletetergantung sistem aplikasinya bagaimana, jika aplikasi atau wesbite tersebut memiliki autentikasi user atau admin (yg punya hak akses untuk upload/download) akan lebih mudah dan simple untuk menggunakan teknik session dan If
jadi saat user atau admin log in dan session terisi, muncul link upload/download
atau dapat dikatakan , jika session terisi maka muncul link link upload/download , jika tidak link tidak akan muncul, sehingga user lain tidak bisa link upload/download
masih bingung gan, tolong dibantu ..
ReplyDeletesaya ingin membuat website untuk menyimpan file namun bisa didownload oleh semua orang..
ya itu kan sudah bisa gan
Deleteyang download.php gak bisa tampil nih kalo dijalankan..
ReplyDeletenotif errornya gimana?
Deletethanks gan,sangat membantu...
ReplyDeleteane mau tanya nh gan, kalo ane download pake IDM bisa gan, tp kalo download pk browser kok file yg ke download simpan.php
ReplyDeleteane mau tanya nh gan, kalo ane download pake IDM bisa gan, tp kalo download pk browser kok file yg ke download simpan.php
ReplyDeletepertanyaan saya sama dengan brow banu gan mohon penjelasannya
ReplyDeletepunya saya malah normal semua kok
Deletemau lewat browser langsung ataupun IDM
Makasih gan, Mau tanya ni..kalo upload nya lebih dari satu file gimna ya gan scriptnya.. Trims....
ReplyDeletesaya belum pernah mencoba
Deletetapi menurut saya bisa menggunakan array
$_FILES['file']['name'][0]
$_FILES['file']['name'][1]
dst
di upload teh malah ada tulisan gini tolong di bantu ??
ReplyDeleteWarning: move_uploaded_file(files/Capture 1.JPG) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\xampp\htdocs\upploaad\hasil_upload.php on line 10
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\xampp\tmp\php8C43.tmp' to 'files/Capture 1.JPG' in C:\xampp\htdocs\upploaad\hasil_upload.php on line 10
File gagal di upload
yach itu ada kesalahan pada penempatan ditektori aja
Deletemin jelasin codingan nya
ReplyDeleteWarning: move_uploaded_file(/img/IMG20151014090032.jpg): failed to open stream: No such file or directory in C:\xampp\htdocs\php\cek4.php on line 9
Warning: move_uploaded_file(): Unable to move 'C:\xampp\tmp\phpD6E7.tmp' to '/img/IMG20151014090032.jpg' in C:\xampp\htdocs\php\cek4.php on line 9
file gagal di upload
saya masih error
makasi
itu ada kesalah pada penempatan scriptnya kk
Deletemin, kenapa pas di hosting ada problem kaya gini ya
ReplyDeleteWarning: mysql_query() expects parameter 1 to be string, resource given in .....
solusinya tolong min
makasih
kamu ada kesalah pada bagian query
Deletekalo saya lihat script kamu, kamu menggunakan mysql, sedangkan script saya sendiri menggunakan mysqli
Undefined index: fupload in C:\xampp\htdocs\uploaddownload\hasil_upload.php on line 3
ReplyDeletefupload itu apa ya min? nama file?
sudah adakah enctype="multipart/form-data" di form kamu???
Delete$folder = "files/"; >>>> apa yang di maksud dengan string file memanggil langsung nama file nya dengan cara di ketik langsung atau bagaimana admin ?
ReplyDelete// Lalu cek menggunakan fungsi file_exist
if (!file_exists($folder.$_GET['file']))
files itu maksudnya direktori files
Deletejadi file yang akan di upload atau simpan , akan tersimpan dalam direktori files
pas saya upload ke hosting, kalo download pake IDM bisa gan, tp kalo download pk browser kok file yg ke download simpan.php. padahal sebelum dihosting (disempen di localhost), normal normal aja gan
ReplyDeletesetiap kali mau download file, error terus pesan forbiden muncul, padahal file yg diupload sudah masuk di folder files,
ReplyDeletekenapa ya gan...
coba download SQL, sudah saya taruh linknya di artikel
DeleteAccess forbidden!
ReplyDeleteAnda tidak diperbolehkan mendownload file ini.
coba download SQL, sudah saya taruh linknya di artikel
DeleteWarning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in...
ReplyDeletesolusinya dong, terimakasih
query kamu ada yang salah karena tidak konek dengn SQL
Deletecoba download SQL, sudah saya taruh linknya di artikel
Terima kasih gan, btw kenapa kalau saya klik Download File, yang terdownload bukan file yang sudah saya upload, tetapi malah file simpan.php nya ya gan ? Mohon bantuannya, terima kasih.
ReplyDeletecoba kamu upload dgn format .rar atau .zip
Deletegan kenapa saat di download malah simpan.php yg ke download
ReplyDeletecoba kamu upload dgn format .rar atau .zip
Deletewalaupun dijadikan rar filenya tetap aja yang ke download simpan.php
Deletegan kenapa saat di download malah simpan.php yg ke download
ReplyDeleteterimakasiiiiiiih sangat membantu :)
ReplyDeletegunanya database hits int (3) apa min ?
ReplyDeletedatabase yang mana ya?
DeleteGa bisa Download,
ReplyDeleteAccess forbidden!
Anda tidak diperbolehkan mendownload file ini.
Gimana yah ?
Sudah bisa Ke download, Cuman yg ke download malah file simpan.php.
ReplyDeleteberikut code saya :
Tolong bantuannya pak.
ini code nya :
ReplyDeletehttp://pastebin.com/TwMp6XW8
Solved !
ReplyDeleteBtw tolong dibenarkan itu kodingan nya salah dibagian ini :
header("Content-Disposition: attachment; filename=".$_GET['file']."");
Itu sudah saya benarkan bagi yang di download File simpan.php nya.
terimakasih.
gan mau tnya dong, saya udh bisa smpe tahap upload. nah utk menuju proses download nya ada coding yg ditambahkan kah? soalnya link downloadnya gak mncul
Deletekok datanya g tampil di database gan? solusinya gimana,
ReplyDeletesorry my bad
Deletesudah saya perbaiki dan sudah muncul datanya di database, silahkan bisa download script dan SQL lagi
terima kasih koreksinya
gan, kalo dilocalhost file bisa disownload, tapi pas sudah hosting malah file simpan.php yang ke download kenapa ya
ReplyDeletekok hasil uploadku kaya gini ya kak ? mohon bantuannya...
ReplyDelete$nama_file 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"; } ?>
mhon bantuanya kk , knapa setiap download file tetapi yang diunduh kog simpan.php ya .tolong bantu kasih penjelasan . Terima kasih
ReplyDeletecoba di ganti header("Content-Disposition: attachment; filename=".$_GET['file']."");
DeleteThis comment has been removed by the author.
ReplyDeletegan, kalo file yg diupload berupa gambar *.jpg, *.png, dll. bisa di download gak?
ReplyDeletebisa kk
DeleteScript php untuk menampilkan jumlah file yang terdownload apa ya....?Misal kita mengupload file mtk terus didownload sebanyak 6 kali maka akan tampil file tersebut "terdownload 6 kali"
ReplyDeleteMakasih gan
link download nya kok tidak bisa bos
ReplyDeletebisa kok, coba matikan adguardnya kk
DeleteAccess forbidden!
ReplyDeleteAnda tidak diperbolehkan mendownload file ini.
Jika pesan allert nya seperti ini knpa ya?
saat download malah yang didownload simpan.php gan, kenapa ya?
ReplyDeletebisa ditambahkan ini dibagian download.php line ke 15-16 direplace dengan ini
Deleteheader("Content-Disposition: attachment; filename=".$_GET['file']."");
silahkan dicoba, jangan lupa mampir soerjaweb.com
file kami simpan di folder public_html/download , nama file [ 12345.rar ],
ReplyDeletedownload berhasil, size sesuai , hanya nama file yg ke download berubah menjadi [ download ] , ketika saya cek dari properties datanya:
Type of file : file
Description : download
ini gimana gan ?
Saat ingin mendownload file yang sudah diupload kenapa file donlot.php nya yang terdownload ? ini terjadi ketika script diupload ke internet, dan pada saat masih di localhost script berjalan dengan lancar gan
ReplyDeleteedit file yang sudah terupload bagaimana gan?
ReplyDeleteNotice: Undefined index: fupload in C:\xampp\htdocs\Desa\hasil_upload.php on line 3
ReplyDeleteNotice: Undefined index: fupload in C:\xampp\htdocs\Desa\hasil_upload.php on line 4
Saya kesalahan seperti diatas gan ???
Mohon bantuannya
min mau tanya, utk upload sudah bisa msk ke database. Tp pas download ga bisa, ga bisa nya adalah ketika klik link downloadnya yg ter download/ unduh bukan file yg kita upload td, melainkan malah file .php gtu
ReplyDeleteterimaksih
Ini script saya gan... Ga keluar apa2....
ReplyDeletehai min, mau bertanya dong, kenapa ketika kita mau download filenya tidak bisa di tampilkan ya?
ReplyDeletemantap sekali bosku
ReplyDelete