Langsung ke konten utama

Bikin halaman upload & download

Pernah maen - maen ke web 4shared atau indowebster atau web web laen yang nyedian kolom buat upload data terus bisa buat download data juga ga? Nah, gw sekarang pengen coba shared ilmu yang udah gw rangkum dari berbagai blog yang udah ngasih skrip buat upload sama download. 

oke sebelumnya kita harus punya database dan folder directorynya nih, database itu nanti isinya cuma menampilin informasi tentang file yang di upload, sedangkan folder directorynya itu nanti buat tempat file file yang udah di upload, folder ini kita taro di direktori skrip srip kita yaa..  

lanjut ya, ayo kita bikin dulu databasenya, kemaren kita kan udah bikin database dengan nama 'latihan' sekarang tinggal kita bikin aja dulu tablenya dengan nama 'upload' tanpa tanda kutip ya. fieldnya macem begini nih cuy


CREATE TABLE IF NOT EXISTS `upload` (
  `id` int(5) NOT NULL auto_increment,
  `name` varchar(50) NOT NULL,
  `type` varchar(30) NOT NULL,
  `size` int(11) NOT NULL,
  `username` varchar(25) NOT NULL,
  `email` varchar(50) NOT NULL,
  `datetime` datetime NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

field id jadi primary keynya, terus name itu nanti buat nama filenya, typenya itu nanti nyesuaiin diri sama file yang di upload kok, size nya juga, nah kalo username, email itu sebenernya tambahan aja sih supaya nanti orang gak asal upload aja tapi mereka juga ngasih tau nama mereka sama email mereka hehee....

bikin dulu skrip buat konekin ke databasenya ya, simpen dengan nama connectup.php

<?php
$host ="localhost";
$username = "root";
$password = "monkey";
$db_name = "tutorial";
$tbl_name = "upload";

mysql_connect("$host","$username","$password") or die ("Cannot connect to server");

mysql_select_db("$db_name")or die("cannot select database");

?>

skrip buat konekin ke database udah kelar, sekarang kita bikin form buat ngupload datanya ya :D
tapi mohon maaf nih kalo ngasih contohnya cuma standar banget nyahaahaa... yah kira kira bakalan kayak gini lah 




langsung aja nih skripnya buat bikin form kayak gonoh, cuman mungkin gak pake warna yaa, hehee, itu gw print screen dari website abal - abal bikinan gw di http://galau.site88.net, simpen skrip ini dengan nama file formup.php


<html>
<head><title>Form Upload</title></head>
<body>
<h1> Upload </h1>

<table width="600" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td><strong> Upload your problem in file document here... </strong>
</td>
</tr>

<table width="600" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#cccccc">
<tr>
<form enctype="multipart/form-data" method="POST" action="upload.php">
<td>
<table width="600" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td width="117">
<input type="hidden" name="MAX_FILE_SIZE" value="3000000"/> // valuenya itu dalam satuan kb
</td>
<td width="14">&nbsp;</td>
<td width="357">&nbsp;</td>
</tr>
<tr>
<td>Input your name</td>
<td>:</td>
<td><input name="user" type="text" id="user" size="25" maxlength="25" title="masukan nama anda"></td>
</tr>
<tr>
<td>Input your email</td>
<td>:</td>
<td><input name="email" type="text" id="email" size="25" maxlength="50" title="masukan email anda"></td>
</tr>
<tr>
<td>Browse Your File</td>
<td>:</td>
<td>
<input name="userfile" type="file"/></td>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><i>max size 3 mb, only for *.doc *.pdf</i>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" value="Upload"/>
</td>
</tr>

</table>
</td>
</form>
</tr>
</table>
</body>
</html>

Sebelum berlanjut, tadi kan gw udah sempet sindir tentang folder kan?? nah sekarang kita bikin dulu aja foldernya dengan nama 'data' tanpa tanda kutip yah. jadi nanti file - file yang ke upload bakalan ke simpen di folder tersebut, oh iya folder ini disimpennya satu tempat yah sama skrip connectup.php, formup.php, upload.php. Sekarang kita bikin skrip buat masukin data data yang ada di form ke dalam database dan ke folder data yah. nih skripnya jangan lupa simpen dengan nama upload.php yah:

<?php

include('connectup.php');
 // setting nama folder tempat upload
$uploaddir = 'data/';

// membaca nama file yang diupload
$fileName = $_FILES['userfile']['name'];    

// nama file temporary yang akan disimpan di server
$tmpName  = $_FILES['userfile']['tmp_name'];

// membaca ukuran file yang diupload
$fileSize = $_FILES['userfile']['size'];

// membaca jenis file yang diupload
$fileType = $_FILES['userfile']['type'];

$username = $_POST['user'];
$email      = $_POST['email'];
$datetime = date("y-m-d h:i:s");
$kode_user= $_POST['kode_user'];
$kode_server = $_POST['kode_server'];

// menyimpan properti atau informasi file ke tabel upload dalam db
// dengan terlebih dahulu mengecek ada tidaknya nama file dalam tabel

$query = "SELECT count(*) as jum FROM upload WHERE name = '$fileName'";
$hasil = mysql_query($query);
$data  = mysql_fetch_array($hasil);

if ($data['jum'] > 0)
{
   $query = "UPDATE upload SET size = '$fileSize' WHERE name = '$fileName'";
}
else $query = "INSERT INTO upload (name, size, type, username, email, datetime) VALUES ('$fileName', '$fileSize', '$fileType', '$username', '$email', '$datetime')";

mysql_query($query);

// menggabungkan nama folder dan nama file
$uploadfile = $uploaddir . $fileName;

// proses upload file ke folder 'data'
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "<script>alert('File has been uploaded');</script>";
    echo "<meta http-equiv='refresh' content='0;URL=index.php'>";
} else { echo "file failed to upload";
}

?>

Nah kelar juga kan bikin halaman buat ngupload data, sekarang coba dulu di browser deh berhasil gak skripnya? kalo berhasil nanti di dalem table 'upload' bakalan ada informasi sebuah file terus di dalem folder data bakalan ada file yang udah kita upload, kalo gak berhasil coba diliat liat lagi skripnya, mungkin ada salah ketik. Kalo udah sukses sekarang tinggal kita bikin aja halaman buat ngedownload sama sedikit belajar buat mengapus file yang udah kesimpen lewat halaman php lagi. Ya kira - kira seperti ini lah nanti form buat liat daftar list yang udah ke uploadnya



Gimane bro ?? mayan kan ?? nyahaha kita bisa download (ngambil data) sama ngapus file file yang pengen kita buang. bikin dulu ah form nya ya nih skripnya, simpennya dengan nama liat.php yaa

<html>
<head><title>Liat</title></head>
<body>
<h2><center>List data yang telah di upload</center><h2>
<table border='1' cellpadding='5' cellspacing='1' align='center' >
<tr>
<th>user</th>
<th>email</th>
<th>nama file</th>
<th>type</th>
<th>size</th>
<th>datetime</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
</tr>

<?php

include'connectup.php';

$sql="SELECT * FROM upload";
$result=mysql_query($sql);

while ($isi=mysql_fetch_array($result))

{

$user         = $isi['username'];
$email        = $isi['email'];
$namafile     = $isi['name'];
$type        = $isi['type'];
$size        = $isi['size'];
$datetime    = $isi['datetime'];

echo "
<tr>
<td>$user</td>
<td>$email</td>
<td>$namafile</td>
<td>$type</td>
<td>$size</td>
<td>$datetime</td>
<td><a href='download.php?id=".$isi['id']."'>Download</a></td>
<td><a href='hapus.php?id=".$isi['id']."'>Delete</a></td>
</tr>";

}
?>
</table>
</body>
</html>

liat tulisan yang download.php sama hapus.php gak ?? itu skrip berfungsi buat ngedownload file sama buat ngehapus file, sekarang kita bikin yang download.php dulu ya, nih skripnya :

<?php
include'connectup.php';
$id=$_GET['id'];
$query="SELECT * FROM upload WHERE id='$id'";
$result=mysql_query($query);
if(!result)
{echo mysql_error(); exit;}

$row=mysql_fetch_array($result);
ob_start();
header("content-Transfer-Encoding:binary\n");
header("Content-Disposition: attachment; filename=".$row['name']);
header("Content-length:".$row['size']);
header("Content-type:".$row['type']);

ob_end_flush();

$fp = fopen("data/".$row['name'],'r');
$content = fread($fp, filesize('data/'.$row['name']));

fclose($fp);
echo $content;

?>
*nanti kalo ada error dalam link buat downloadnya coba tolong ditambahin ' ../ ' tanpa tanda kutip di tulisan warna orange sebelum tulisan data, jadi nanti tulisannya begini ../data/
udah kelar ?? lanjut lah buat bikin skrip hapus.php, nih skripnya monggo :

 <?php

include'connectadm.php';

$id = $_GET['id'];

$query="SELECT * FROM upload WHERE id='$id'";
$result =mysql_query($query);
$data = mysql_fetch_array($result);
$namaFile = $data['name'];

//query untuk menghapus

$query="DELETE FROM upload WHERE id='$id'";
mysql_query($query);

//menghapus file dalam folder sesuai namanya

unlink("data/".$namaFile);
echo"<script>alert('File berhasil dihapus');</script>";
echo "<meta http-equiv='refresh' content='0;URL=liat.php'>";

?>
nanti juga kalo di skrip hapus ini ada masalah di unlink nya, coba di tambahin lagi ya ' ../ ' tanpa tanda kutip di tulisan warna orange sebelum tulisan data, jadi nanti tulisannya begini ../data/



Sekian deh skrip skrip buat halaman upload, download, & hapus monggo dicoba ya, tapi mungkin nanti ada trouble, misal pas download mungkin ke download tapi file nya ga bisa kebuka, tapi setelah gw utak atik ternyata itu bermasalah di tipe browsernya, yang paling bagus sih di browser Google Chrome, Opera, Mozilla Firefox versi 6.0 ke atas. terus trouble yang kedua saat kita mau ngapus, pas kita klik link hapus memang sih informasi file dalam database akan terhapus tetapi kadang file yang ada di folder data tidak ikut terhapus, setelah gw utak atik lagi perkiraan masalah itu ada di skrip yang tulisannya warna orange itu karena di skrip itu harus menunjukan lokasi yang tepat dengan file.

monggo dicoba dulu ya, nanti kalo ada masalah boleh di share dimari atau gak ditanya langsung ke gw, dan lo bisa mention dulu deh ke twitter gw di @b_samz, jangan lupa mampir mampir kemari http://galau.site88.net disitu website buat orang yang pengen curhat dan sharing tentang masalah hidupnya khususnya masalah cinta nyahaaaa... tapi tenang aja curhatan lo semua gak bakalan ke umbar dan orang lain gak bakalan tau kok, cuma tuhan, admin dan lo sendiri yang bakalan tau curhatan lo #ehmaapjadipromosi

sekali lagi terima kasih buat perhatiannya, muchoss graciaas.!! 

Komentar

Postingan populer dari blog ini

bikin halaman upload foto dengan thumbnails dan resize

Tutorial kali ini gw akan ngebahas gimana caranya lo upload image berukuran besar dan image asli tetap tersimpan di folder berikut image yang sudah di resize ukurannya sehingga menjadi image thumbnail. Sebelum melangkah lebih jauh mending buka ini dulu deh Membuat halaman Upload dan Download gunanya untuk mereview kembali cara upload lewat php dan menyimpan file itu ke dalam folder yang kita buat di htdocs. Jika sudah dan merasa gak perlu oke kita lanjutin yah.ini merupakan tutorial untuk mengupload foto dalam web php kita, dan foto asli yang kita upload akan langsung kita buat thumbnailsnya yaitu menyimpan foto ukuran asli dan menyimpan foto ukuran yang sudah terkompres. yang pertama kita siapin adalah databasenya dulu kasih nama databasenya 'image', siapin table dengan format CREATE TABLE IF NOT EXISTS `resize` (   `id_img` int(11) NOT NULL AUTO_INCREMENT,   `filename` varchar(100) NOT NULL,   `size` varchar(100) NOT NULL,   `type` varchar(100) NOT NULL,   PRIMAR

Cara menghilangkan galau

Okeh kali ini gw mau membahas tentang kegalauan hidup yang mungkin sebagian besar orang pasti alamin. gw sudah merasakan dan melewati masa - masa galau dalam hidup gw, pada masa - masa ini seperti halnya pisau bermata 2, kalo kita terlalu larut dalam kegalauan maka kehidupan kita akan terjerembab dalam kesuraman. Namun kalo kita bisa menggunakan masa - masa ini dengan bijak ini adalah masa yang tepat untuk menempa mental dan pemikiran kita. ada beberapa alasan yang menjadi penyebab utama galau, diantaranya :  lawan jenis (pacar) keluarga karir gak bisa dipungkiri kalau masalah si lawan jenis ini penyebab paling seringnya seseorang (apalagi remaja) menjadi galau gak karuan, lagi marahan atau lagi putus hubungan keduanya bikin otak serasa mumet padahal masalah orang tua yang udah punya anak itu lebih mumet lagi. dan kalaupun kita yang sedang galau karena masalah ini bisa berpikir jernih dan sadar kita akan berpikir bahwa di luar sana dalam bumi yang bulat ini masih banyak orang lain yang

Halaman Guestbook dengan Captcha

Sesuai judul kali ini gw coba kasih sesuatu yang mungkin udah banyak orang yang tau cara bikinnya gimana, terus terang, ini merupakan kesimpulan dari berbagai macam tutorial yang gw kumpulin dan gw baca serta gw pelajarin *lebay lo om :D sebelumnya gw harapin udah pada bisa bikin database di localhost dulu ya, terserah mau pake apa tapi lebih enak buat yang baru belajar mending pake XAMPP deh *karna gw cuma bisa pake itu. Oke pertama - tama kita buat dulu databasenya dengan nama 'tutorial' tanpa kutip, terus buat tablenya dengan patokan ini  CREATE TABLE IF NOT EXISTS `guestbook` (   `id` int(5) NOT NULL auto_increment,   `name` varchar(25) NOT NULL,   `email` varchar(50) NOT NULL,   `comment` longtext NOT NULL,   `datetime` varchar(65) NOT NULL,   PRIMARY KEY  (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; id gw bikin primary key supaya jadi pembeda antara komen guestbook satu dengan yang lainnya dan auto_increment supaya dia akan menambah data dengan s