Tulisan berikut akan menceritakan proses pembuatan userbar untuk Indoupload.NET yang menggabungkan file gambar (png) dengan text yang berisi keterangan mengenai total member. Mengenai userbar Indoupload.NET dapat dibaca lebih lanjut di sini.
![]()
![]()
![]()
PHP melalui GD Library memiliki kemampuan untuk membuat dan memanipulasi file gambar (.gif,.png,.jpeg,.wbmp, dan .xmp) baik on the fly (stream langsung ke browser) maupun menulis ke sebuah file baru. Untuk dapat menggunakan fungsi-fungsi ini pastikan terlebih dahulu bahwa PHP yang terinstall di server anda mendukung GD Library, cara mudahnya adalah dengan membuat sebuah file .php yang berisi;
<?php
phpinfo();
?>
Panggil file .php tersebut di browser dan cari keterangan mengenai GD;

Yang akan dilakukan pada contoh ini adalah menghitung total anggota (melalui MySQL), mengambil file asli (.png), membuat file gambar (.png) baru dengan mengoverlay text total anggota, dan menjalankan file php tersebut melalui cron setiap 5 menit. Selain itu juga melakukan konversi file fonts yang ada di windows menjadi file font format php (.gdf) dengan program tambahan.
Menghitung Total Anggota
Buat sebuah file yang berisi fungsi untuk melakukan koneksi dengan database mysql dan melakukan penghitungan, misalkan nama file = menghitunguser.php
<?php
function totalang(){
$link = mysql_connect("serverdbanda", "usernameanda", "passwordanda");
mysql_select_db("namadatabaseanda", $link);
$result = mysql_query("SELECT * FROM namatabelanda", $link);
$num_rows = mysql_num_rows($result);
return $num_rows;
}
?>
Membuat File Gambar
Untuk membuat sebuah file gambar (*.png) dari file lain melalui php pada contoh ini, fungsi bawaan yang digunakan adalah (silahkan eksplorasi lebih lanjut untuk tipe gambar yang lain);
imagecreatefrompng() -> untuk mengambil gambar asal
imagecolorallocate() -> menentukan warna fonts (RGB)
imageloadfont() -> menggunakan font khusus (*gdf)
imagestring()-> mengoverlay text ke atas gambar
imagepng()-> output gambar
imagedestroy()-> free memory yang terasosiasi dengan gambar
File gambar original yangakan dioverlay adalah contohnya;
![]()
nama file = indouploadgreen-orig.png
Berikut scriptnya (hasil dari googling dan manual exploring, silahkan dimodifikasi sesusai dengan kebutuhan) ; misalkan diberi nama membuatgambar.php; perhatikan komentar untuk keterangan singkat, keterangan lebih lanjut silahkan dipelajari pada manual PHP;
<?php
//include fungsi mysql
include ('mengitunguser.php');
// hitung total anggota
$totalanggota = totalang();
//path absolute (untuk cron)
$path = '/path/absolute/ke/direkori/anda/';
//text yang akan dioverlay
$string = "+ ".$totalanggota." Members";
//mengambil file original
$im = imagecreatefrompng($path."indouploadgreen-orig.png");
// menentukan warna font
$white = imagecolorallocate($im1, 255, 255, 255);
// memilih font yang akan digunakan (*.gdf)
$font = imageloadfont($path."cg.gdf");
// nama file baru
$outfile= $path."indouploadgreen.png";
//proses overlay (125,2 = kordinat x,y)
imagestring($im, $font, 125, 2, $string, $white);
//menulis ke file baru
imagepng($im,$outfile);
//melepas asosiasi memori
imagedestroy($im);
?>
Script tersebut di atas akan membuat file gambar baru dengan mengoverlay text total member pada file gambar original. Yang hasil akhirnya dapat di lihat di atas.
Font *gdf
Perintah imagestring dapat dilakukan dengan menggunakan font bawaan system anda, juga dapat diganti dengan font lain dengan melakukan konversi ke *.gdf, untuk font format windows dapat digunakan program yang bisa anda peroleh di http://www.wedwick.com/wftopf.exe; atau mirror IIX nya di sini. Pilih font yang hendak digunakan; tentukan ukurannya dan save as gdf.
Cron
Script php pada contoh ini tidak dibuat untuk dapat dioutput langsung ke browser, melainkan untuk dijalankan pada background; untuk itu dibuat cron untuk menjalankan setiap 5 menit;
*/5 * * * * /usr/bin/php /path/absolute/ke/direkori/anda/membuatgambar.php
Sebelumnya saya minta maaf , karna OOT nih Om, saya mau tanya knapa Id saya semuanya ilang? apa mungkin saya terlalu banyak ID dan terlalu banyak menyimpan files disitu (mp3)
Jujur saja saya suka dengan indoupload.net disamping cepat, kita bisa browse member lain, dan setau saya indoupload.net tidak memnghapus files membernya.
atau saya harus merandom ID biar anda tidak ‘ngeuh’ dengan ID saya? Hehe..
Manis pahitnya tanggapan ini tetap saya tunggu T_T hikz..
rgrds
000000
000001
000002
000003
000004
000005
000006
^^ Sudah saya tanggapi via Japri :D
Makasiih Om, duh jd ga enak ngrepoottinn ^^
wew.. tiap 5 menit yach . ..
gambar yang ke load bakalan sering dapet dari cache ngga nich ?
^^ Kl dari sisi server nya sih gak ada cache.. kemungkinan kalau ada cache di sisi browser / klien ..
maaf mw tny kalo konversi dari gambar ke text gimana ya caranya?
gambarnya dari capture webcam