Setelah saya posting artikel beberapa waktu yang lalu tentang cara membuat random quotes dengan PHP, kali ini saya akan coba memaparkan bagaimana ide dan cara membuat random image.
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
Secara umum, ide untuk membuat random image ini sangat mudah. Konsepnya adalah sebagai berikut: user mengupload image dari komputer client ke server, tepatnya ke database. Selanjutnya untuk proses mengacak imagenya kita gunakan function
RAND()
yang ada di MySQL. Konsep ini hampir sama dengan membuat random quotes. Tambahan lagi, untuk memunculkan image dari database ke browser, kita memerlukan script khusus. Script khusus apa nih maksudnya? Simak baik-baik artikel ini selanjutnya.Seperti konsep yang telah kita tentukan di atas, pertama kali kita coba membuat fitur untuk upload image ke database terlebih dahulu. Nah… sekarang kita create terlebih dahulu tabelnya.
1.
CREATE
TABLE
tabelimage
2.
(
3.
id
INT
AUTO_INCREMENT,
4.
image LONGBLOB,
5.
PRIMARY
KEY
(id)
6.
);
OK.. next…
Sekarang kita coba buat script untuk upload imagenya.
upload.htm
1.
<
h1
>Upload Image</
h1
>
2.
<
form
method
=
"post"
enctype
=
"multipart/form-data"
action
=
"simpan.php"
>
3.
Pilih image :
4.
<
input
type
=
"hidden"
name
=
"MAX_FILE_SIZE"
value
=
"100000"
><
br
/>
5.
<
input
name
=
"image"
type
=
"file"
>
6.
<
input
type
=
"submit"
value
=
"Submit"
name
=
"submit"
>
7.
</
form
>
<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 parameterupload_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
01.
<?php
02.
03.
// membaca file yang diupload dan disimpan dalam TEMP
04.
$tmpName
=
$_FILES
[
'image'
][
'tmp_name'
];
05.
06.
// membuka isi file image yang disimpan dalam TEMP
07.
$fp
=
fopen
(
$tmpName
,
'r'
);
08.
09.
// membaca isi file image yang disimpan dalam TEMP
10.
// isi file image yang dibaca berupa string
11.
$dataimage
=
fread
(
$fp
,
filesize
(
$tmpName
));
12.
13.
// apabila ditemukan karakter slash pada string, maka akan diubah menjadi double slash
14.
// prosedur ini bila tidak dilakukan akan merusak image
15.
$dataimage
=
addslashes
(
$dataimage
);
16.
17.
// menutup file dalam TEMP yang telah dibaca
18.
fclose(
$fp
);
19.
20.
// koneksi ke MySQL
21.
mysql_connect(
'hostName'
,
'dbUserName'
,
'dbUserPass'
);
22.
mysql_select_db(
'dbName'
);
23.
24.
// query menyisipkan data image ke tabel
25.
$query
=
"INSERT INTO tabelimage(image) VALUES ('$dataimage')"
;
26.
$hasil
= mysql_query(
$query
);
27.
28.
// menampilkan konfirmasi sukses tidaknya upload
29.
if
(
$hasil
)
echo
"Upload image sukses"
;
30.
else
echo
"Upload image gagal"
;
31.
32.
?>
random.php
01.
<?php
02.
03.
// koneksi ke mysql
04.
mysql_connect(
'hostName'
,
'dbUserName'
,
'dbUserPass'
);
05.
mysql_select_db(
'dbName'
);
06.
07.
// query untuk merandom ID dari image
08.
$query
=
"SELECT id FROM tabelimage ORDER BY RAND()"
;
09.
$hasil
= mysql_query(
$query
);
10.
11.
echo
"<img src='showimage.php?id="
.
$data
['id
']."'
/>";
12.
13.
?>
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.
?>
Semoga artikel ini ada manfaatnya buat semua.
ini kan link yg asli http://blog.rosihanari.net/membuat-script-random-image-dengan-php/
klo ni lnk yg copas http://kecoakkuphp.blogspot.com/2011/02/membuat-script-random-image-dengan-php.html