Posts Tagged ‘code’

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: 37 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: 603 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,222 views
Tagged with: [ , , , , ]

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,903 views
Tagged with: [ , , , , , ]

Fungsi set cookie dan remove cookie dengan mudah

This item was filled under [ Code Snippet, PHP ]

Berikut adalah salah satu fungsi untuk men-set cookie dan menghapus cookie.

$cookie_folder = "/"; // contoh path cookie, sebaiknya variable ini disimpan pada file config, agar mudah diubah sesui kebutuhan.
 
function jin_set_cookie($field, $value) {
	global $cookie_folder;
	header("Content-Type: text/html; charset=utf-8");
	setcookie($field, $value, time() + 604800, $cookie_folder);
}
function jin_del_cookie($field) {
	setcookie($field, "", time() - 604800, "");
}

Penggunaan menyimpan cookie:

jin_set_cookie("setup_warna", "biru");
jin_set_cookie("setup_chat", "off");

Penggunaan menghapus cookie:

jin_del_cookie("setup_warna");
jin_del_cookie("setup_chat");

Keterangan:

604800 = 1 Minggu, cookie akan menyimpan selama 1 minggu pada browser client selama tidak menghapus nya

Continue reading...

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

Halaman ini di eksekusi dalam waktu 0.949 detik! (koneksi mayan kenceng nih...)