Jumat, 28 Oktober 2011

Menyimpan gambar ke dalam database MySql

Artikel ini saya ubah karena terus terang script yang lama tidak berfungsi maksimal karena saya tidak menyertakan beberapa file yang di-include seperti PHP mysql connect dan bebrapa function. Hal ini dikarenakan say cuman ngasih sedikit clue dan menanggapi request dari saudari Shary.
Saya berharap dengan sedikit clue bisa membantunya.
contoh upload gambar ke database
Tapi maksud baik mendapat tanggapan lain, beberapa script kiddies menganggap ane plagiat. Plagiat dari mana? tolong sebutkan dari mana?
Terus terang script lama saya kopas dari SIMPEG pemkab Trenggalek. Tapi bentar, programmer SIMPEG Online pemkab Trenggalek versi 1 itu programmernya the one and only cuman saya.. dari script sampai database saya yang ngulik.. kok dikatakan plagiat..
Marilah kita koreksi diri kita masing-masing, untuk belajar PHP kita tidak bisa hanya kopas, tapi pahami satu per satu kodenya...
Sebagai gantinya ini script upload gambar yang sudah saya perbaiki beberapa tahun kemarin. Karena bolak-balik pindah post mengenai script ini hilang..
Saya bangkitkan lagi di sini buat menanggapi beberapa orang yang mengatai plagiat. heheheh..
Tertawa bikin sehat.
Oke sekian curhatnya, mari kita lihat tutorialnya....
SIMPAN GAMBAR KE DATABASE MYSQL
=================================

Petunjuk:
1. bikin database pakai foto.sql
2. Untuk menjalankan file buka simpan_foto.php
Fasilitas:
1. menolak type selain gambar
2. meresize gambar ke lebar yang ditemtukan
3. lebar gambar dan tingginya tetap proporsional
Sekian tutorial dan pembelaan dari saya, masih bisa komentar kah??

contoh upload gambar ke database
Kalau belum puas bisa menuntut saya di meja hijau.. tapi karena plagiat script ane sendiri?
Download Script yang sudah saya ubah: http://www.box.net/shared/o2p2lxnryy
 

Artikel ini ke bawah yg membuat saya dikatain plagiat hahahahaha

Mending ga usah dibaca karena udah saya update di sini

Menanggapi request Shary, ini ada script yang km minta.
Oh iya, script ini sudah dilengkapi dengan auto resize gambar dan sudah dilengkapi fungsi cek apakah yang diupload itu gambar atau bukan.
Ini gw ambil dari simpeg online Pemkab Trenggalek. Silahkan diedit sesuai keperluan Anda.
Script untuk menyimpan gambar:
<?php 
 
//   DATABASE 
$db_host = "localhost"
$db_user = "root"
$db_pass = "p455w0rdku"
$db_name = "simpol"
 
//   BAGIAN INI KE BAWAH JANGAN DIUBAH 
$link = mysql_pconnect ($db_host$db_user$db_passor die ("Ga bisa connect"); 
mysql_select_db ($db_nameor die ("Ga bisa select database"); 
 
if (isset($act) && $act == "up_foto") { 
$id = trim($nip); 
$editFormAction = $_SERVER['PHP_SELF']; 
$img_thumb_width = 120;  
$path_thumbs = "items/icons"
 
       $file_type = $_FILES['imgfile']['type']; 
       $file_name = $_FILES['imgfile']['name']; 
       $file_size = $_FILES['imgfile']['size']; 
       $file_tmp = $_FILES['imgfile']['tmp_name']; 
        
       //check if you have selected a file. 
       if(!is_uploaded_file($file_tmp)){ 
          echo "<BR><BR>Anda belum memilih file gambar....."
    print "<meta http-equiv="refresh" content="0; URL=?mod=up_foto&nip=$nip">"
          exit(); //exit the script and don't do anything else. 
       } 
       //check file extension jika salah or bukan gambar langsung keluar 
    $size =GetImageSize("$file_tmp"); 
    if (($size[2] < 1) || ($size[2] > 4)) { 
    echo '<BR><BR>Maaf yang Anda pilih bukan gambar';  
    print "<meta http-equiv="refresh" content="0; URL=?mod=up_foto&nip=$nip">"
    exit();  
    }  
  
       //get the file extension. 
       $getExt = explode ('.'$file_name); 
       $file_ext = $getExt[count($getExt)-1]; 
 
       //create a random file name 
       $rand_name"tmp"
       //get the new width variable. 
       $ThumbWidth = $img_thumb_width
 
       //keep image type 
       if($file_size){ 
          if($file_type == "image/pjpeg" || $file_type == "image/jpeg"){ 
             $new_img = imagecreatefromjpeg($file_tmp); 
           }elseif($file_type == "image/x-png" || $file_type == "image/png"){ 
               $new_img = imagecreatefrompng($file_tmp); 
           }elseif($file_type == "image/gif"){ 
               $new_img = imagecreatefromgif($file_tmp); 
           } 
           //list width and height and keep height ratio. 
           list($width$height) = getimagesize($file_tmp); 
           $imgratio=$width/$height
           if ($imgratio>1){ 
              $newwidth = $ThumbWidth
              $newheight = $ThumbWidth/$imgratio
           }else
                 $newheight = $ThumbWidth
                 $newwidth = $ThumbWidth*$imgratio
           } 
 
          //function for resize image. 
           if (function_exists(imagecreatetruecolor)){ 
           $resized_img = imagecreatetruecolor($newwidth,$newheight); 
           }else
                 die("Error: Please make sure you have GD library ver 2+"); 
           } 
           imagecopyresized($resized_img$new_img, 0, 0, 0, 0, $newwidth$newheight$width$height); 
           //save image 
           ImageJpeg ($resized_img,"$path_thumbs/$rand_name.$file_ext"); 
           ImageDestroy ($resized_img); 
           ImageDestroy ($new_img); 
            
$gb_baru = "$path_thumbs/$rand_name.$file_ext"

///ini ke bawah buat nyimpen gambar ke database 
$fp = fopen($gb_baru'r'or die('ga bisa buka gambar'); 

$data=fread($fp,filesize("$gb_baru"));  
$data = mysql_escape_string($data);  

$updatesql=mysql_query("UPDATE foto SET FOTO='$data'  where NIP='$id'"or die(mysql_error()); 


 

?> 
<br /> 
<br /> 
<table width="100%" border="0" cellpadding="0" cellspacing="1" background="items/bg_gradasi.jpg"
  <tr> 
    <td width="73%"><strong><img src="items/icons/duk.gif"  hspace="5" align="absmiddle" /> <big>EDIT FOTO </big> </strong></td> 
    <td width="27%" align="center"> </td> 
  </tr> 
</table> 
<form method="POST"  enctype="multipart/form-data" action="<?php echo $editFormAction; ?>?mod=up_foto&nip=<?= $nip ?>&act=up_foto"
  <table width="58%" border="0" align="center"
    <tr> 
      <td width="176" rowspan="3" align="center" valign="middle"><table cellspacing="3" border="0"
        <tbody> 
          <tr> 
            <td width="100%" bgcolor="#999999"><table cellspacing="0" cellpadding="3" width="100%" border="0"
                <tbody> 
                  <tr> 
                    <td bgcolor="#ededed"><a href="?mod=up_foto&nip=<?= $nip ?>"><img src="modul/foto.php?nip=<?php echo $nip; ?>" alt="Foto" name="foto" border="3" id="foto" /></a></td> 
                  </tr> 
                </tbody> 
            </table></td> 
          </tr> 
        </tbody> 
      </table></td> 
      <td height="23" colspan="2" valign="bottom">Silahkan klik "<em><strong>Browse</strong></em>" dan pilih foto yang baru, kemudian klik "<strong><em>Submit</em></strong>". </td> 
    </tr> 
    <tr> 
      <td height="23" colspan="2" valign="bottom"><input name="imgfile" type="file" id="imgfile" size="35" /></td> 
    </tr> 
    <tr> 
      <td width="310" valign="middle"><br /> 
      <br /></td> 
      <td width="66" align="center" valign="middle"><input type="submit" name="Submit" value="Submit" /></td> 
    </tr> 
  </table> 
</form>  
Kalo yang ini untuk menampilkan gambarnya:
<?php 
 //   DATABASE 
$db_host = "localhost"
$db_user = "root"
$db_pass = "p455w0rdku"
$db_name = "simpol"
 
//   BAGIAN INI KE BAWAH JANGAN DIUBAH 
$link = mysql_pconnect ($db_host$db_user$db_passor die ("Ga bisa connect"); 
mysql_select_db ($db_nameor die ("Ga bisa select database"); 
 
 
require_once ('../inc/db.php'); 
$sql = mysql_query("SELECT NIP,FOTO FROM foto where  foto.NIP = "$nip" "or die(mysql_error()); 
 
    while ($res=mysql_fetch_array($sql)) { 
echo $res['FOTO']; 
 } 
mysql_free_result($sql);  
 
?>  
Kemudian struktur databasenya sebagai berikut:
CREATE TABLE `foto` ( 
  `NIP` varchar(27) NOT NULL default ''
  `FOTO` longblob, 
  PRIMARY KEY  (`NIP`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1;  
Cuman begitu saja. Semoga bermanfaat.
Contoh yang sudah berjalan: contoh upload gambar ke database

Download Script yang sudah saya ubah: http://www.box.net/shared/o2p2lxnryy

Artikel Terkait di Bawah posting

0 comments:

Posting Komentar