's Archive

PHP insert/update/view file BLOB di MySQL

This item was filled under [ Code Snippet, MySQL, PHP ]

Cara untuk insert/update/view (menyimpan/mengubah/menampilkan) file biner pada MySQL adalah sebagai berikut.

Struktur database MySQL contoh nya kita beri nama tabel “file_attachment”, sebagai berikut:
Copy paste pada tools MySQL Administrasi Anda, seperti phpmyadmin.

CREATE TABLE IF NOT EXISTS `file_attachment` (
  `id` bigint(20) NOT NULL auto_increment,
  `file_content` mediumblob NOT NULL,
  `file_name` varchar(255) NOT NULL,
  `file_type` varchar(255) NOT NULL,
  `file_size` bigint(20) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Untuk Insert Script nya adalah sbb.:
Beri nama file insert_blob.php (hanya contoh).

<?php
// CONECT DATABASE
@mysql_connect("localhost", "root", "") OR die ("NOT CONNECT DATABASE");
@mysql_select_db("nama_database") OR die ("CONNECTED, BUT NO DATABASE");
 
if($_POST[submit]){
    $file_name = $_FILES['file']['name'];
    $tmp_name  = $_FILES['file']['tmp_name'];
    $file_size = $_FILES['file']['size'];
    $file_type = $_FILES['file']['type'];
    $fp = fopen($tmp_name, 'r');
    $file_content = fread($fp, $file_size) or die("Error: cannot read file");
    $file_content = mysql_real_escape_string($file_content) or die("Error: cannot read file");
    fclose($fp);
 
 
    // INSERT
    $qu = "INSERT INTO `file_attachment`
                (`file_content`,`file_name`,`file_type`,`file_size`)
                VALUES
                ('".$content."','".$file_name."','".$file_type."','".$file_size."')";
	$re = mysql_query($qu) or die ("Sorry Cant insert db!");
	echo $file_name." inserted succesfully to database";
}
echo '<form method="post" enctype="multipart/form-data">';
echo '	<input name="file" type="file">';
echo '	<input name="submit" type="submit" value="Upload">';
echo '</form>';
?>

Untuk menampilkan File dari BLOB, menggunakan 2 file, file pertama adalah sebagai berikut:
Beri nama file view_blob.php (hanya contoh).

<?php
// CONECT DATABASE
@mysql_connect("localhost", "root", "") OR die ("NOT CONNECT DATABASE");
@mysql_select_db("nama_database") OR die ("CONNECTED, BUT NO DATABASE");
 
$id = $_REQUEST['id'];
$query = "SELECT * FROM `file_attachment` WHERE `id`='".$id."' LIMIT 1";
$qu = mysql_query($query);
$num = mysql_numrows($qu);
if($num > 0) {
	$result=mysql_fetch_object($qu);
	header("Content-Disposition: attachment; filename=".jin_gfile($result->file_name.""));
	header("Content-length: ".$result->file_size."");
	header("Content-type: ".$result->file_type."");
	echo $result->file_content;
} else {
	echo "File tidak valid!";
}
?>

berikut tambahan fungsi jin_gfile, supaya nama file tidak ada karakter aneh (boleh disatukan dalam file view_blob.php).

<?php
// CLEAN FILENAME
function jin_gfile($txt) {
	$txt = preg_replace("/[^a-zA-Z0-9s.]/", "_", trim($txt));
	return $txt;
}
?>

Berikutnya file kedua untuk view, adalah sbb bergantung kebutuhan:
- Untuk File Download (file umum), kita asumsikan pada data di MySQL sudah ada id 9 yang isinya adalah file document laporan ber ekstensi .doc atau .xls

<a href="http://namadomain/view_blob.php?id=9">File Laporan Bulan Maret 2010 (klik untuk download)</a>

- Untuk menampilkan gambar, kita asumsikan pada data di MySQL sudah ada id 3 yang isinya adalah file gambar ber ekstensi .jpg, .gif atau .png

<img src="http://namadomain/view_blob.php?id=3" alt="Gambar Alumni 1996">

Catatan PENTING: jika memungkinkan disarankan untuk tidak memilih menyimpan file biner kedalam struktur storage tabel database MySQL, melainkan lebih baik menyimpan file system.

Continue reading...

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5 out of 5)
Loading ... Loading ...
Popularity: 23 views
Tagged with: [ , , , ]

Belajar PHP dan MySQL dari NOL - Part III (Semua Operator)

This item was filled under [ General, MySQL, PHP ]

Formulir alias FORM

Bentuk selalu menjadi salah satu cara tercepat dan termudah untuk menambahkan interaktivitas ke situs Web Anda. Suatu bentuk memungkinkan Anda untuk menanyakan pelanggan apakah mereka menyukai produk Anda, kasual pengunjung untuk komentar pada situs Anda, dan gadis-gadis cantik untuk nomor telepon mereka. Dan PHP dapat menyederhanakan tugas pengolahan data yang dihasilkan dari sebuah formulir berbasis Web secara substansial, sebagai contoh pertama ini menunjukkan. Contoh ini berisi dua script, yang mengandung bentuk HTML (bernama form.htm) dan bentuk lain yang berisi logika pengolahan (message.php). Here’s form.htm:

<html>
<head></head>
<body>
<form action="message.php" method="post">
Enter your message: <input type="text" name="msg" size="30">
<input type="submit" value="Send">
</form>
</body>
</html>

Garis kritis di halaman ini adalah tag <form>

<form action="message.php" method="post">
...
</form>

Seperti yang Anda mungkin sudah tahu, “action” attribute dari tag <form> menentukan nama server-side script (message.php dalam kasus ini) yang akan memproses informasi yang dimasukkan ke dalam formulir. The “metode” atribut menentukan bagaimana informasi akan dilewatkan.
Continue reading…

Continue reading...

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5 out of 5)
Loading ... Loading ...
Popularity: 598 views
Tagged with: [ , , , ]

Belajar PHP dan MySQL dari NOL - Part II (code dasar PHP)

This item was filled under [ General, MySQL, PHP ]

Code PHP

Ada satu konsep penting yang Anda butuhkan untuk mendapatkan pikiran Anda sekitar sebelum kita melangkah lebih jauh. Tidak seperti CGI script, yang meminta Anda untuk menulis kode untuk output HTML, PHP memungkinkan Anda embed kode PHP pada halaman HTML biasa, dan mengeksekusi kode PHP yang tertanam saat halaman diminta.

Perintah PHP tertanam ini diapit oleh khusus dalam tag awal dan akhir, seperti ini:

<?php
 
... Kode PHP ...
 
?>

Berikut adalah contoh sederhana yang menunjukkan bagaimana PHP dan HTML dapat dikombinasikan:

<html>
<head> </head>
<body>
 
Agen: Jadi, siapa yang Anda pikir Anda, bagaimanapun?
<br />
 
<?php
// Print output
echo 'Neo: Aku Neo, tapi orang-orang memanggilku Salah.';
?>
 
</body>
</html>

Anda tidak cukup tradisional “Hello, World” program … tetapi sekali lagi, aku selalu berpikir tradisi itu over-rated.
Continue reading…

Continue reading...

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...
Popularity: 1,213 views
Tagged with: [ , , , , ]

Belajar PHP dan MySQL dari NOL - Part I (pengertian, sejarah dan kelebihan)

This item was filled under [ General, MySQL, PHP ]

Pengertian PHP

PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memrogram situs web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain.

Contoh terkenal dari aplikasi PHP adalah forum (phpBB) dan MediaWiki (software di belakang Wikipedia). PHP juga dapat dilihat sebagai pilihan lain dari ASP.NET/C#/VB.NET Microsoft, ColdFusion Macromedia, JSP/Java Sun Microsystems, dan CGI/Perl. Contoh aplikasi lain yang lebih kompleks berupa CMS yang dibangun menggunakan PHP adalah Mambo, Joomla!, Postnuke, Xaraya, dan lain-lain.

Sejarah PHP

Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs Personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web.
Continue reading…

Continue reading...

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5 out of 5)
Loading ... Loading ...
Popularity: 2,326 views

Mengambil alamat address web url full beserta variabel

This item was filled under [ Code Snippet, PHP ]

Masalah:

Seringkali jika kita ke website halaman yang harus login, maka kita harus login terlebih dahulu untuk melihat isi konten tersebut, akan tetapi kita ingin supaya setelah login redirect ke halaman konten tadi.

Solusi:

kita butuhkan script untuk mengambil alamat url full lengkap beserta variabel-varibel nya, untuk disispkan pada hidden text yang isinya adalah alamat full url pada form login Anda, yang nantinya akan diredirect pada alamat web tersebut yaitu dengan cara memanggil php script berikut:

// Fungsi Ambil Full Web Address Beserta Variabel2nya
function jin_get_address() { 
	$s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : ""; 
	$protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s; 
	$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]); 
	return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI']; 
}
 
function strleft($s1, $s2) { 
	return substr($s1, 0, strpos($s1, $s2)); 
}

UPDATE:
tambahan fungsi strleft, terimkasih kepada Adi Suwarso atas koreksinya :mrgreen:

Continue reading...

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5 out of 5)
Loading ... Loading ...
Popularity: 9,857 views
Tagged with: [ , , , , , ]
Page 1 of 1612345next »...Last »

Halaman ini di eksekusi dalam waktu 7.556 detik! (hmm.. hmmm... agak gimanaa gitu...)