Membuat Random Image dengan PHP

Posted on
  • by
  • AL-syaf IdNa
  • in
  • Label:
  • Assalamu'alaikum,,,,
    Untuk kali ini saya sedikit berbagi pengalaman yaitu Membuat Image Random menggunakan PHP,, lansung ajj dech,,,
    Image yang kemunculannya akan dirandom ini nantinya disimpan ke dalam database, dan bukan berdiri sendiri sebagai file dalam direktori atau folder. Dalam hal ini user bisa mengupload image file ke server melalui form. Dengan ditempatkannya image ke dalam database, maka tingkat sekuriti dapat lebih aman karena kita tidak perlu meng-chmod 777 folder di server sebagai tempat image diupload. Selain itu… biasanya banyak hosting yang menyediakan fitur space MySQL yang unlimited, dibandingkan space quota di server yang biasanya terbatas 
    Nah sebelumnya kita creat dulu tablenya dengan scrip yang ada dibawah ini :
      
      CREATE TABLE tabelimage
      (
      id INT AUTO_INCREMENT,
      image LONGBLOB,
      PRIMARY KEY(id)
      );

    Perhatikan query di atas, bahwa untuk menyimpan data image kita perlu tipe data BLOB. Kalau tidak salah ada 3 jenis tipe data BLOB ini, yaitu TINYBLOB, MEDIUMBLOB dan LONGBLOB. Ketiganya dibedakan berdasarkan size data yang bisa tertampung. Selanjutnya, untuk ID, field ini diperlukan untuk pembeda antar image yang diupload. ID ini nanti yang akan dirandom oleh function RAND().
    OK.. next…
    Sekarang kita coba buat script untuk upload imagenya.

    upload.htm


      <h1>Upload Image</h1>
      <form method="post" enctype="multipart/form-data" action="simpan.php">
      Pilih image :
      <input type="hidden" name="MAX_FILE_SIZE" value="100000"><br />
      <input name="image" type="file">
      <input type="submit" value="Submit" name="submit">
      </form>

    Perhatikan pada komponen <input type="hidden" name="MAX_FILE_SIZE" value="100000">. Atribut value="100000" ini menunjukkan maksimum size dari image yang bisa diupload adalah 100Kb. Anda bisa memperbesar valuenya. Tapi dengan catatan: value ini harus lebih kecil atau sama dengan nilai dalam parameter upload_max_filesize yang ada dalam konfigurasi PHP pada file php.ini. Default dari nilai parameter tersebut adalah 2Mb.

    Selanjutnya kita buat script simpan.php nya.

    simpan.php


      <?php

      // membaca file yang diupload dan disimpan dalam TEMP
       $tmpName  = $_FILES['image']['tmp_name'];
       // membuka isi file image yang disimpan dalam TEMP
       $fp  = fopen($tmpName, 'r');
       // membaca isi file image yang disimpan dalam TEMP
       // isi file image yang dibaca berupa string
       $dataimage = fread($fp, filesize($tmpName));
       // apabila ditemukan karakter slash pada string, maka akan diubah menjadi double slash
       // prosedur ini bila tidak dilakukan akan merusak image
       $dataimage = addslashes($dataimage);
       // menutup file dalam TEMP yang telah dibaca
       fclose($fp);
       // koneksi ke MySQL
       mysql_connect('hostName','dbUserName','dbUserPass');
       mysql_select_db('dbName');
       // query menyisipkan data image ke tabel
       $query = "INSERT INTO tabelimage(image) VALUES ('$dataimage')";
       $hasil = mysql_query($query);
       // menampilkan konfirmasi sukses tidaknya upload
       if ($hasil) echo "Upload image sukses";
       else echo "Upload image gagal";
       ?>

    Sekarang… kita buat script untuk menampilkan random imagenya. Dalam hal ini yang dirandom adalah ID dari imagenya. 

    random.php

       <?php
       // koneksi ke mysql
       mysql_connect('hostName','dbUserName','dbUserPass');
       mysql_select_db('dbName');
       // query untuk merandom ID dari image
       $query = "SELECT id FROM tabelimage ORDER BY RAND()";
       $hasil = mysql_query($query);
       echo "<img src='showimage.php?id=".$data['id']."' />";
       ?>

    Untuk bisa menampilkan image yang dirandom, kita perlu membuat script khusus (pada contoh ini adalah showimage.php). Nah… yang menjadi masalah sekarang adalah bagaimana mengkaitkan antara ID image yang dirandom dengan image yang akan ditampilkan. Masalah ini bisa dipecahkan dengan menambahkan parameter id di belakang script showimage.php nya pada tag <img>.
    OK… selanjutnya bagaimana isi script showimage.php nya. Ini dia…

    showimage.php


    01.<?php
    02. 
    03.// koneksi ke mysql
    04.mysql_connect('hostName','dbUserName','dbUserPass');
    05.mysql_select_db('dbName');
    06. 
    07.// membaca nilai dari parameter ID yang berasal dari URL: showimage.php?id=...
    08. 
    09.$id = $_GET['id'];
    10. 
    11.// menampilkan image berdasarkan ID imagenya
    12. 
    13.$query = "SELECT image FROM tabelimage WHERE id = $id";
    14.$hasil = mysql_query($query);
    15.$data = mysql_fetch_array($hasil);
    16. 
    17.// header untuk menampilkan image
    18.header('Content-type: image/jpeg');
    19. 
    20.// menampilkan data imagenya
    21.echo $data['image'];
    22. 
    23.?>

    Selesai.....

    Selamat Mencoba,,, 










    1 komentar:

    Agus Nurhadi mengatakan...

    oke punya tuuch brooo

    Posting Komentar