Membuat suatu document/file menggunakan PHP dalam wordpress


Halo teman-teman, ini pertama kalinya saya menulis kembali sejak beberapa bulan yang lalu. Sekarang saya akan membagi ilmu saya mengenai cara membuat file dengan menggunakan PHP. Sebelumnya teman-teman diharapkan sudah mengetahui apa itu PHP dan bagaimana cara menjalankannya. Bagi yang belum mengetahuinya, nanti saya akan membuatkan tutorial sederhana bagaimana caranya menjalankan file berekstensi .php pada server offline.

Sebelum itu, telebih dahulu anda dapat menginstall wordpress pada server anda (saya menggunakan XAMPP “server offline”). Setelah itu, anda perlu menginstall plugin wordpress yaitu exec-php (http://wordpress.org/extend/plugins/exec-php/). Plugin ini berguna untuk mengeksekusi file php dalam suatu halaman post. Saya juga menggunakan plugin wordpress tambahan yaitu cform (http://www.deliciousdays.com/cforms-plugin) yang berfungsi menerima input dari user kemudian mengupdate database berdasarkan input tersebut. Berikut adalah source code yang saya gunakan untuk menampilak input dari user, kemudian mengenerate file baru berdasarkan file “template.rtf”.

template.rtf berisi :

Nama               : _Nama_
Alamat             : _Alamat_
Keterangan       : _Keterangan_

Sedangkan codenya adalah :

<?php
$array = get_cforms_entries(‘Surat Keterangan’,false,false,’date’,false,’asc’);
$self = $_SERVER[‘PHP_SELF’];
if(isset($_GET[‘Nama’]) && isset($_GET[‘Alamat’]) && isset($_GET[‘Keterangan’]))
{
$Nama = $_GET[‘Nama’];
$NPM = $_GET[‘Alamat’];
$Keterangan = $_GET[‘Keterangan’];
$filename = “wp-content//uploads//2009//11//template.rtf”;
$fp_temp = fopen($filename, ‘rb’);
$fp = fopen(“wp-content//uploads//DatabaseSuratKeterangan//”.$Nama.”.rtf”, ‘w+’);
$old_contents = fread ($fp_temp, filesize ( $filename));
fclose ($fp_temp);
$original= array(“_Nama_”, “_Alamat_”, “_Keterangan_”);
$new = array( $Nama, $Alamat, $Keterangan );
$constans=str_replace($original, $new, $old_contents);
fwrite($fp, $constans);
fclose($fp);
$linkFile = “<a href = \”wp-content/uploads/DatabaseSuratKeterangan/”.$Nama.”.rtf\”>download file!!</a>”;
echo $linkFile;
}
echo ‘<table border = “1”>’;
echo ‘<tr><th>Nama</th><th>Alamat</th><th>Email</th><th>Keterangan</th></tr>’;
foreach( $array as $e ){
$link  = “<a href=\””.$self.”?p=575 & Nama=”.$e[‘data’][‘Nama’].” & NPM=”.$e[‘data’][ ‘Alamat’].” & Keterangan=”.$e[‘data’][‘Keterangan’].”\”>createFile</a> “;
echo ‘<tr><td>’ . $e[‘data’][‘Nama’] . ‘</td><td>’ . $e[‘data’][ ‘Alamat’] . ‘</td><td>’ . $e[‘data’][‘Email’] . ‘</td><td>’.$e[‘data’][‘Keterangan’].'</td><td>’.$link.'</td><tr>’;
}
echo ‘</table>’;
?>

Penjelasan code:

1. $filename = “wp-content//uploads//2009//11//template.rtf”;

Membaca file template.rtf dari folder.

2. $fp_temp = fopen($filename, ‘rb’);

Membuka file tersebut untuk dibaca

3. $fp = fopen(“wp-content//uploads//DatabaseSuratKeterangan//”.$Nama.”.rtf”, ‘w+’);

Membuat file berdasarkan variable $Nama.

4. $old_contents = fread ($fp_temp, filesize ( $filename));

Mengcopy file template.rtf  kedalam suatu variable $old_content

5. fclose ($fp_temp);

Menutup file template.rtf yang sebelumnya dibuka

6.$original= array(“_Nama_”, “_Alamat_”, “_Keterangan_”);

Mendefinisikan string yang akan diubah dalam suatu file

7. $new = array( $Nama, $Alamat, $Keterangan );

Mendefinisikan string yang akan digunakan untuk mengganti string pada $original

8. $constans=str_replace($original, $new, $old_contents);

Mengganti file yaitu $original dengan $new pada $old_contents

9. fwrite($fp, $constans);

Menulis hasil perubahan kedalam file

10. fclose($fp);

Menutup file yang telah ditulis.

Semoga tulisan ini membantu teman-teman yang ingin belajar PHP.



  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: