Share And Discussion Forum
Trimakasih . . . ! Selamat Datang Dan Selamat Bergabung !!


Keep Smile and Thinking
 
IndeksIndeks  FacebookFacebook  IdbiezIdbiez  FAQFAQ  PencarianPencarian  AnggotaAnggota  GroupGroup  PendaftaranPendaftaran  Login  

Share | 
 

 "Contoh Topik" PHP

Topik sebelumnya Topik selanjutnya Go down 
PengirimMessage
813'Z
Admin


Jumlah posting : 52
Join date : 14.11.09
Age : 26
Lokasi : Malang

PostSubyek: "Contoh Topik" PHP   Sat Nov 14, 2009 11:44 pm

Dengan menggunakan function php yaitu base64_encode() dan base64_decode, kita bisa memasukkan file binary ke dalam tabel di database mysql. Hal ini berbeda dengan upload file ke web server langsung, dimana yang dimasukkan ke tabel hanya link file bukan isi filenya.

Sekali lagi saya tegaskan, trik ini untuk menyimpan file binary ke dalam tabel Mysql bukan link atau namafile nya.

Untuk bisa mengerti trick ini dengan dalam anda harus menguasai
-php
-html (khususnya bagian pengiriman form -upload file)
-mysql

Perhatian =
* langkah2 di bawah tidak harus dikerjakan sedetil mungkin anda harus merubah parameter2 seperti koneksi mysql, nama file yang dikirim, dll.
* Maksimum file yang dikirim adalah sebesar max_allowed_packet dalam ukuran byte (bisa dilihat dengan mengetikkan 'mysql -help' diconsole)

Di kasus ini kita akan membuat 3 file dan 1 database :
form.htm --> untuk bikin form pengiriman file
kirim.php --> untuk menyimpan file ke dalam database MySQL
ambil.php --> untuk download file dari database MySQL
contoh_db --> database MySQL, didalamnya terdapat table 'berkas'

1. bikin file html dengan nama "form.htm" dan isi dengan script berikut :
Code: [Select]
<html>
<head>
<title>Kirim Data</title>
</head>

<body>

<form enctype='multipart/form-data' method='post' action='kirim.php'>
<pre>
Input Data : <input type='file' name='file'>
<input type='submit' value='Kirim'>
</pre>
</form>

</body>
</html>

2. save file tersebut di dalam folder web server kesayangan anda.

3. Masuk ke MySQL lalu buat database 'contoh_db' :

Code: [Select]
create database contoh_db;

4. Masuk ke dalam db tsb dengan mengetikkan :

Code: [Select]
use contoh_db;

5. buat tabel 'berkas' dengan mengetikkan :
Code: [Select]
create table berkas
(
namafile varchar(45),
isifile blob
);

6. Bikin file bernama 'kirim.php', isi dengan script di bawah lalu simpan di
folder yang sama.

Code: [Select]

<?php
$host = "localhost"; //isi dengan host mysql anda
$user = "root"; //isi dengan user mysql anda
$code = "*********"; //isi dengan code mysql anda

mysql_connect($host,$user,$code);
mysql_select_db("contoh_db");
$namafile = $_FILES["file"]["name"];
$tmpnmfile = $_FILES["file"]["tmp_name"];
$isifile = $_FILES["file"]["content"];
$ukuranfile = $_FILES["file"]["size"];
$file = fopen($tmpnmfile,"rb");

$isifile2 = base64_encode(fread($file,$ukuranfile));
if(mysql_query("insert into berkas values ('{$namafile}','$isifile2')"))
{echo "Pengiriman file berhasil";} else {echo "pengiriman file gagal";}
?>

7. Bikin file bernama 'ambil.php', isi dengan script di bawah lalu simpan di
folder yang sama.

Code: [Select]
<?php
$namafile = ""; //isi dengan nama file yang anda kirim;
$host = "localhost"; //isi dengan host mysql anda
$user = "root"; //isi dengan user mysql anda
$code = "*********"; //isi dengan code mysql anda
mysql_connect($host,$user,$code);
mysql_select_db("contoh_db");

header("Content-Type:application/octet-stream");
header("Content-Disposition:attachment; filename=\"$namafile\"\n");
$query = mysql_query("select isifile from berkas where namafile='{$namafile}'");
$fetch = mysql_fetch_array($query);
echo base64_decode($fetch["isifile"]);
?>

8. Buka browser lalu masuk ke dalam page form.htm

9. Pilih file yang anda inginkan, mis: emprotz.zip (untuk percobaan, pilih file berukuran 5 Kb atau kurang)

10. Klik tombol Kirim

11. Setelah muncul "Pengiriman File Berhasil", masuklah ke halaman 'ambil.php'. Ingat nama file pada konfigurasi ambil.php harus sama dengan file yang dikirim

12. Download file dimulai.
Kembali Ke Atas Go down
Lihat profil user http://idbiez.forumotion.net
 
"Contoh Topik" PHP
Topik sebelumnya Topik selanjutnya Kembali Ke Atas 
Halaman 1 dari 1
 Similar topics
-
» (Wts)" Pitstop Motorsport" Updated Catalogue see Page 1. [BATLAX 090] [HyperPro Holland]-[Yoshimura USA]-[SRD Racing Development U.S.A]-[REMUS]-[Bodywork]-[Lightings] Etc!
» WTB macem", yang punya barang istimewa "MASUK SAJA"
» Kero-kero pi "dan-dan" lagi....O_o
» Si hijau bercutting monster energy from ex "top jaya" bandung new upgrade page 1
» red "MUSIC ART" look

Permissions in this forum:Anda tidak dapat menjawab topik
Share And Discussion Forum :: Knowledge :: Programing-
Navigasi: