Blog Archives

Menciptakan citra grafis dengan PHP (pemula-tahap I)

Hemm,, lama sekali saya tak menyentuh PHP gara-gara *rahasia* hehehe. Tapi akhirnya kangen juga. Saya tertarik sama salah satu jenis bahasa pemrograman ini lagi setelah ‘nemu’ judul buku yang lumayan bagus di perpus kampus saya. Yaitu rekayasa grafis dengan PHP. Mengingat harga buku IT mahal, saya tau kok kebanyakan orang (termasuk saya) harus mikir dulu kalo mau beli buku IT, karena mahal tentunya. Di blog ini saya akan coba menjabarkan dengan kalimat lain apa yang saya dapat dari buku itu. Agar tidak dibilang plagiat šŸ˜€

Pengecekan terhadap library ‘gd_info’
Sebelum melakukan pengkodingan untuk pengolahan gambar dengan script, pertama-tama kita harus memastikan dahulu apakah fungsi-fungsi manipulasi tersebut dapat dipakai atau tidak atau tersedia dalam daftar fungsi dalam PHP atau tidak. Karena jika fungsi yang nanti kita gunakan ternyata belum ter-include dalam PHP, maka apa yang kita kerjakan nanti akan sia-sia.
Untuk mengetahui ada tidaknya fungsi-fungsi pendukung manipulasi gambar tersebut, lakukan pengecekan dengan script berikut:

if(function_exists('gd_info')==true){
Ā Ā  echo "Library tersedia";}
else { echo "Belum terinstal";}

Memahami tipe file gambar
Pada pengolahan dan rekayasa gambar menggunakan script PHP, tahap selanjutnya yang perlu diperhatikan adalah penulisan header image. Header ini berfungsi untuk memberikan informasi kepada sistem tentang jenis file yang akan diproses sistem web browser. Header image ini dibuat pertama kali sebelum melakukan proses-proses pengolahan gambar selanjutnya. Tipe-tipe file yang umum ditampilkan pada web diantaranya JPEG, PNG, dan GIF.

Berikut adalah cara untuk membuat header image berdasarkan tipe masing-masing.

– File JPEG : header(“Content-Type:image/jpeg”)
– File PNG : header(“Content-Type:image/png”)
– File GIF : header(“Content-Type:image/gif”)

Membuat grafis dengan karakter

<?php
header("content-Type:image/gif");
/*herder ini bermahsud bahwa citra yg diciptakan berekstensi gif*/
$gm= imagecreate(500,50);
/*fungsi imagecreate untuk membuat resolusi gambar, element lebarxpanjang*/
$bgc = imagecolorallocate($gm,255,255,255);
/*$bgc disini adalah variabel untuk menyimpan warna background*/
$text = imagecolorallocate($gm,0,0,0);
/* sedang $text adalah variabel untuk menyimpan warna teks*/
$data = "Belajar rekayasa grafis.";
/* $data adalah teks yang akan dibuat gambar*/
imagestring($gm,12,5,10,$data,$text);
imagegif($gm);
imagedestroy($gm);
/* fungsi imagedestroy ini diperlukan untuk menghapus alokasi memory yang dipakai untuk menciptakan citra tersebut*/
?>

Meng-upload file dengan PHP (tanpa melibatkan database)

Secara umum dalam PHP, keyword yang dipakai untuk mengupload file adalah $_FILES[…]; dan move_uploaded_file(..);

Tutorial ini adalah tutorial untuk mengupload file dengan cara paling sederhana belum dengan konfigurasi type file dan size file. Kita hanya akan mengupload file ke folder yang disediakan.Langsung saja.

#1. Buatlah halaman dengan script berikut save dengan nama: index.php:

<form action="upload.php" method="post" enctype="multipart/form-data">
<input name="dokumen" type="file" id="dokumen" />
<input type="submit" name="upload" id="upload" value="Upload" />
</form>

Perhatikan script di atas, pada sintaks form terdapat action=”upload.php” itu berarti pemrosesan file-nya akan ditujukan pada file upload.php. enctype=”multipart/form-data” adalah sebagai pernyataan bahwa data tersebut berupa file (bisa file audio, video, teks, gambar, dll). Sedangkan name=”dokumen” digunakan untuk identitas file field yang nantinya digunakan untuk memilih data yang akan diupload. File field secara sederhana dapat diartikan sebagai kotak untuk memasukan file.

#2. Kemudian buat file upload.php dengan script berikut :

<?php
mkdir("upload");
$file = $_FILES['dokumen'];
$nama_file = $file['name'];
$nama_tmp = $file['tmp_name'];
$upload_dir = "upload/";
move_uploaded_file($nama_tmp,$upload_dir.$nama_file);
echo "File berhasil diunggah."
?>

$_FILES[‘dokumen’] digunakan untuk mengambil file mentahnya yang kemudian dimasukan dalam variabel $file.
Untuk memperoleh nama file digunakan script : $file[‘name’] dapat juga $_FILES[‘dokumen’][‘name’];
Untuk memperoleh type file : $file[‘type’] atau $_FILES[‘dokumen’][‘type’];
Untuk memperoleh besar file : $file[‘size’] atau $_FILES[‘dokumen’][‘size’];
Untuk mendapatkan nama temporer : $file[‘tmp_name’] atau $_FILES[‘dokumen’][‘tmp_name’];
$upload_dir adalah folder tempat diletakkannya file yang akan diupload.
Move_uploaded_file(parameter1,parameter2), mempunyai dua parameter, yang pertama nama temporer file, dan yang kedua adalah alamat file.

Jika file berhasil diupload maka pada folder upload akan ada file tersebut. Jika gagal, mungkin anda perlu mengecek ulang sintaks-sintaksnya mungkin ada kesalahan atau lupa menambahi titik koma.

Selanjutnya, dapat anda tambahkan dengan pembatasan besar file dengan ukuran tertentu, atau type file tertentu.

Semoga bermanfa’at.
Iin

#####################Update####################
Balasan @Nabil Ftd
Oke, saya coba buat aplikasi yang anda maksud,

caranya simple, saya menggunakan fungsi dir() untuk membaca semua file yang ada dalam satu folder yang dimaksud.

Misalkan nama folder andaĀ gambar,Ā lakukan eksekusi denganĀ $dir=dir(“gambar”);

elemen yang ada pada $dir berupa array, untuk menampilkan data filename nya anda dapat menggunakan fungsiĀ while berikut:

while($file=$dir->read()){…}

Nah di dalam looping pada while tersebut, kita akan coba bandingkan nama file dengan userID tertentu dapat menggunakan if atau swicth. Program selengkapnya :

<form action="" method="post">
Tutorial by : <a href="https://ilmucerdas.wordpress.com">ilmucerdas.wp</a><br><br>
User yang tersedia : 4200, 4211, 4219 <br>
Masukan id user : <input type="text" name="userID"/>
<br /><input type="submit"/>
</form>
<?php
if(isset($_POST['userID'])){
$user=abs($_POST['userID']);
echo "<br>Galeri yang dimiliki ID : $user <br><br>";
$dir= dir("gambar");
while(($file=$dir->read())){
if(substr($file,0,4)==$user){
echo "<img src='gambar/$file' width=100 height=100>";
echo "<br>Nama : $file<br><br>";
}
}
$dir->close;
}
?>

Untuk update/edit gambarnya anda dapat menggunakan alogaritma berikut :

hapus file yang dimaksud -> upload file yg baru dengan nama sama

untuk menghapus file gunakan fungsiĀ unlink(“folder/file.xx”);

Semoga membantu šŸ™‚

———————————————————————————–

menjawab pertanyaan @selviaĀ _>move_uploaded_file($nama_tmp,$upload_dir.$nama_file); maksud’y ini apa ya? ko ga bisa2?

jawab : move_uploaded_file mempunyai 3 parameter. -&gt; move_uploaded_file($tmp_name, $upload_dir, $nama_file)
1. $tmp_name adalah parameter pertama yang berisi nama file yang telah diubah menjadi tmpname, gunanya untuk menempatkan cache pd komputer penerima sebelum di bentuk file yg telah terupload 100%
proses di $tmp_name biasanya dengan mengambil tmpname itu lgsung dr nama file dgn rumus php -&gt; $_FILES[‘tmp_name’]
2. $upload_dir adalah parameter kedua yang berisi path atau lokasi dimana file akan di upload.
3. $nama_file adalah parameter ketiga yg digunakan untuk menamai file yg telah diupload ke server.

semoga dapat dipahami. terimakasih apresiasinya.