selamat siang semua, saya mau kasih informasi tentang bagaimana cara membuat upload data ke dalam database dan download data dari database.
umumnya yang sering saya liat pada saat data di upload maka file yg di upload di simpan pada folder server, pada saat di komputer lokal semua berjalan lancar tetapi pada saat di upload ke server maka akan muncul pesan eror "biasanya Permission Folder", untuk mengatasinya kita harus ubah permission folder dimana kita upload file pada server menjadi Mod 777 ( Read, Write, Execute) kayanya sih gitu maksudnya, klo bahasa inggrisnya salah mohon di maafkan ya.
lanjut lg ke topik, yang akan kita buat bukan upload data ke server tetapi upload data dan file disimpan di dalam database, jadi pada saat website kita dijalankan baik di server atau di komputer lokal ya mudah - mudahan tidak ada masalah.
Buat database dengan nama : upload
selanjutnya buat tabel : tbl_files
# perintah SQL #
CREATE TABLE `tbl_files` (
`id_files` tinyint(3) unsigned NOT NULL auto_increment,
`bin_data` longblob NOT NULL,
`description` tinytext collate latin1_general_ci NOT NULL,
`filename` varchar(50) collate latin1_general_ci NOT NULL default '0',
`filesize` varchar(50) collate latin1_general_ci NOT NULL default '0',
`filetype` varchar(50) collate latin1_general_ci NOT NULL default '0',
PRIMARY KEY (`id_files`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=15 ;
klo sudah buka Text editor anda, bisa menggunakan Notepad, Macromedia Dreamweaver, dll. dan buat file koneksi.php, index.php dan ketikkan script seperti di bawah ini
############### koneksi.php #####################
$koneksi=mysql_connect("localhost","root","");
mysql_select_db("upload",$koneksi);
?>
################# index.php ###################
UPLOAD DOWNLOAD DB
Menu Utama - Hasil Upload
Form Upload File Upload : Deskripsi :
include "koneksi.php";
$proses=$_GET['proses'];
if($proses==''){
echo "Hasil UPLOAD
";
$query=mysql_query("SELECT * FROM tbl_files ORDER BY id_files DESC");
while($record=mysql_fetch_array($query)){
echo "Nama File : $record[filename]
Deskripsi : $record[description]
[ Download ]
";
}
} else if($proses=='upload'){
$txtdescription=$_POST['txtdescription'];
$files = $_FILES["files"]["tmp_name"];
$files_name = $_FILES["files"]["name"];
$files_size = $_FILES["files"]["size"];
$files_type = $_FILES["files"]["type"];
//cek ada datanya gak
if(empty($txtdescription) || empty($files)){
die("file dan deskripsi harus di isi
");
} else {
// Database connection variables
$filesHandle = fopen($files,"rb");
$filesContent = fread($filesHandle,$files_size);
$filesContent = addslashes($filesContent);
$dbQuery = mysql_query("INSERT INTO tbl_files VALUES('','$filesContent','$txtdescription','$files_name','$files_size','$files_type')") or die("Ora iso add file to database");
echo "Upload Data Berhasil";
}
}
?>
##################### download.php #############################
$id_files=$_GET['id'];
if ($id_files) {
include "koneksi.php";
$sql = "SELECT bin_data, filetype, filename, filesize FROM tbl_files WHERE id_files=$id_files";
$result = @mysql_query($sql);
$data = @mysql_result($result, 0, "bin_data");
$name = @mysql_result($result, 0, "filename");
$size = @mysql_result($result, 0, "filesize");
$type = @mysql_result($result, 0, "filetype");
header("Content-type: $type");
header("Content-length: $size");
header("Content-Disposition: attachment; filename=$name");
header("Content-Description: PHP Generated Data");
echo $data;
}
?>
pada saat program di jalankan maka hasilnya seperti gambar di bawah ini :
skrip di atas saya uji coba menggunakan windows Xp dan Xampp Versi 1.6.2
Silahkan dicoba, Semoga bermanfaat dan semoga sukses
4 Komentar
FR-SYSTEM.WEB.ID
suradi
FR-SYSTEM.WEB.ID
shiembahrock