;

Sabtu, 14 April 2012

Membuat Script Upload & Download

Sabtu, 14 April 2012

Selamat malam sobat coding!
Teman-teman pasti pernah lihat halaman upload-download kan, dimana di halaman itu sobat bisa mengupload file maupun download file,,,
So, sebenarnya script untuk membuat halaman itu sederhana kok,
mungkin ada di antara teman-teman yang malah sedang mencari ya.. :)
tenang saja kali ini saya akan bagikan script tentang itu.
Langsung aja ya..


Pertama buat dulu table dalam database nya

CREATE TABLE `upload` (
  `id` int(30),
  `name` varchar(100),
  `size` varchar(20),
  `type` varchar(20),
  PRIMARY KEY  (`id`)
);

Nah berikutnya buat form uploadnya dulu

form enctype="multipart/form-data" action="upload.php" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="3000000" />
    Pilih File: <input name="userfile" type="file" />
    <input type="submit" value="Upload" />
</form>

simpan dengan nama form.html

berikutnya buat aplikasi pngeksekusi form tersebut

<?php
// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
// of $_FILES.

$uploaddir = 'data/';

$fileName = $_FILES['userfile']['name'];     

$uploadfile = $uploaddir . $fileName;

// nama file temporary yang akan disimpan di server

$tmpName  = $_FILES['userfile']['tmp_name']; 

// ukuran file yang diupload

$fileSize = $_FILES['userfile']['size'];

// jenis file yang diupload

$fileType = $_FILES['userfile']['type'];


include 'conf/config.php';

// menyimpan file ke tabel upload dalam db

$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) VALUES ('$fileName', '$fileSize', '$fileType')";

mysql_query($query);

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "File berhasil di unggah.\n";
} else {
    echo "File gagal di unggah!\n";
}

?> 

lalu simpan dengan nama upload.php

berikutnya buat 3 folder masing-masing diberi nama data, conf dan libphp
selanjutnya kita buat file function

<?php


function konek(){
include '/conf/config.php';
}
//====================================================//
function tutup($ss){
mysql_close($ss);
}

//=========================mengganti break===========================//
function autobreak($isi){
$isi1=str_ireplace('
','<br />',$isi);
$isi1=stripslashes($isi1);
return $isi1;
}

//=========================download list===========================//
function download($num,$jml){
$query="SELECT * FROM `upload` ORDER BY `id` DESC LIMIT $num, $jml ";
$result = mysql_query($query) or die("query koment eror");
while($blog=mysql_fetch_array($result)){
echo '<a href="down.php?id='.$blog['id'].'">'.autobreak($blog['name']).'</a><br>';
}
}


?>

simpan dalam folder libphp dan diberi nama func.php
setelah itu buat list downloadnya

                        <?php
include 'libphp/func.php';
include 'conf/config.php';
if(isset($_GET['s'])& $_GET['s']>=0 & $_GET['s']!=''){$s=$_GET['s'];}else{$s=0;}
$con=konek();
download($s,10);
?>  

simpan dengan nama list.php
lalu buat file peng eksekusi perintah downloadnya dengan php

<?php

include 'conf/config.php';

    $id      = $_GET['id'];
    $query   = "SELECT * FROM upload WHERE id = '$id'";
    $hasil  = mysql_query($query);
    $data = mysql_fetch_array($hasil);
    // header yang menunjukkan nama file yang akan didownload

    header("Content-Disposition: attachment; filename=".$data['name']);

    // header yang menunjukkan ukuran file yang akan didownload

    header("Content-length: ".$data['size']);

    // header yang menunjukkan jenis file yang akan didownload

    header("Content-type: ".$data['type']);

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

    echo $content;
    exit;

?>

simpan dengan nama down.php
sudah selesai khan
 bagaimana jika kita ingin menghapus salah satu file dari server??
Tenang, buat saja satu file lagi

<?php

include 'conf/config.php';

    $id      = $_GET['id'];
    $query   = "SELECT * FROM upload WHERE id = '$id'";
    $hasil   = mysql_query($query);
    $data    = mysql_fetch_array($hasil);
    $namaFile = $data['name'];
$query = "DELETE FROM upload WHERE name = '$namaFile'";
mysql_query($query);
unlink("data/".$namaFile);
echo "File telah dihapus";

?>

Simpan dengan nama hapus.php
eits....
ada yang lupa, jangan lupa buat file konfigurasinya ya dan simpan di folder conf
belum tau cara membuat file konfigurasinya??
silahkan baca artikel sebelumnya Konfigurasi PHP Dengan MySQL

Selesai khan

untuk download script lengkapnya klik disini
upload semua kedalam server dan selamat berkarya


SELAMAT DATANG DI BLOG CODING

Wisnu Satriyadi - 07.55
MASUKKAN TOMBOL TWEET DISINI

1komentar:

Unknown mengatakan...

meletakkan di mana bos ///?

Posting Komentar