Script PHP Mengambil Nilai Tukar Valuta Asing dari Beacukai
Mirip seperti sebelumnya yg mengambil lewat BCA, akan tetapi skrg mengambil dari sumber beacukai.
Berikut adalah script php untuk menampilkan kondisi mata uang valuta asing mengambil data yang bersumber dari http://www.beacukai.go.id
Dengan menggunakan dua metode, menggunakan curl atau juga bisa menggunakan file_get_content().
Fungsi script PHP nya adalah sbb:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
<?php /* Ambil Nilai Valuta Kurs Dari Beacukai Versi 1.0 Tanggal: 2008-12-30 17:04 oleh: jinbatsu (http://www.nusansifor.com) */ error_reporting (E_ALL); // // Ubah menjadi 3600 untuk cache 1 jam, ketika semuanya sudah berjalan normal. // Menggunakan cache berarti tidak perlu membuka koneksi ke klikbca // setiap kali halaman dibuka << ini PENTING! menghemat waktu, dan mengurangi proses server. // $nkurs['cachetime'] = 3600; /* ubah jadi 3600 atau lebih */ // // menggunakan CURL, jika file_get_contents tidak bisa dihostingan Anda, baca manual PHP untuk selengkapnya // Untuk Cara penggunaan file get content: // file_get_contents($url, "r") // Untuk Cara penggunaan CURL: // curl_get_file_contents($url) $url = "http://www.beacukai.go.id/rates/exchRateID.php"; $handle_url_metod = file_get_contents($url, "r"); //$handle_url_metod = curl_get_file_contents($url); $header = ' <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Nilai Valuta Kurs Dari Beacukai Versi 1.0</title> <style> #kurs_beacukai { width: 350px; background: #FFFFFF; padding: 0; border: 0; font-size: 11px; font-family: Verdana, Arial, Helvetica, sans-serif; } #kurs_beacukai table { border: 0 solid #ccc; padding: 2px 2px; } #kurs_beacukai table tr td table { border: 1px solid #ccc; padding: 0; } #kurs_beacukai .style6 { font-size: 13px; } </style> </head> <body> <div id="kurs_beacukai"> '; $footer = ' <br /> Sumber: <a href="http://www.beacukai.go.id">beacukai</a> </div> </body> </html> '; // Dari sini kebawah, ubah kalau mengerti aja. $nkurs['curr'] = array ('USD', 'SGD', 'HKD', 'CHF', 'GBP', 'AUD', 'JPY', 'SEK', 'DKK', 'CAD', 'EUR', 'SAR', 'MYR', 'NZD', 'NOK', 'BUK', 'INR', 'KWD', 'PKR', 'PHP', 'LKR', 'THB', 'BND', 'CNY', 'KRW'); function curl_get_file_contents($URL) { $c = curl_init(); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); curl_setopt($c, CURLOPT_URL, $URL); $contents = curl_exec($c); curl_close($c); if ($contents) return $contents; else return FALSE; } $nkurs['scriptpath'] = dirname (__FILE__); $nkurs['cachefile'] = $nkurs['scriptpath'] . '/cache.txt'; $output = ""; if (!file_exists ($nkurs['cachefile']) || !is_writable ($nkurs['cachefile'])){ die ('File cache.txt belum ada atau belum writable.<br />Buat file: ' . $nkurs['cachefile'] . '<br />Lalu CHMOD ke 666'); } if (filemtime ($nkurs['cachefile']) <= ( time () - $nkurs['cachetime'] ) && $handle = $handle_url_metod) { $output .= '<table width="100%" border="0" cellspacing="0" cellpadding="0">'; $handle = explode ('<table width="100%" border="0" cellspacing="0" cellpadding="0">', $handle); $hasil2 = $handle[3]; $hasil1 = explode('<tr>', $handle[3]); $i = 0; foreach($hasil1 as $hasil) { if ($i == 30) {continue;} $output .= "<tr>"; $hasil = str_replace('untuk setiap', '', $hasil); $hasil = str_replace('1,00', '', $hasil); $hasil = str_replace('100,00', '', $hasil); $hasil = str_replace('border="1"', 'border="0"', $hasil); foreach($nkurs['curr'] as $ilangan) { $hasil = str_replace($ilangan, '', $hasil); } $output .= $hasil; //$output .= "<br />" . $i; //$output .= "</tr>"; $i++; } $output .= '</table>'; $tocache = $output; $handle = fopen ($nkurs['cachefile'], 'w'); fwrite ($handle, $tocache); fclose ($handle); //$output .= $hasil2; } else { $handle = file ($nkurs['cachefile']); foreach($handle as $out) { $output .= $out; } } echo $header; echo $output; echo $footer; ?> |
Demo: klik disini
Download file contoh script komplit nya:
kurs_beacukaiV1.rar (1.8 KiB, 3,094 hits, Updated: 14 April 2011)
semoga bermanfaat
Thanks banget telah buatin ambil content bea cukainya. inilah ditunggu-tunggu 😉
Maju trus ya
Thanks
sama2 ya ndre 😀 semoga bermanfaat ya… 😉
kalo ngambil secara otomatis tiap ada perubahan nilai valas di http://www.beacukai.go.id/rates/exchRateID.php gimana ya?
thx
@verens,
Script PHP Mengambil Nilai Tukar Valuta Asing dari Beacukai dan alamat url yg dipakai adalah: “http://www.beacukai.go.id/rates/exchRateID.php”
Dan diambil secara berkala tergantung settingan:
3600 = 1 jam.
Jadi tiap 1 jam ambil data dari website beacukai nya… jadi hasilnya akan sama terus dai sumber url datanya… 🙂
ow.. makasi banyak, mas..
thx atas scriptnya, btw kalo ambil kurs dari http://www.depkeu.go.id url nya diganti apa ya, sebab kadang di http://www.beacukai.go.id lelet.
@hariyanto,
terimakasih atas komen nya..
OK, nanti saya akan coba ya..
mas, kalau data yang mau diambil harus login, trus script nya gmn?
@sasa, harus menggunakan teknik CURL yg menggunakan POST data login informasinya..
berikut contohnya saya kasih url linknya:
http://snipplr.com/view/17733/php-curl-post/
mas, kalo hasil grab tsb disimpan di database mysql gimana caranya?
terima kasih
nice question.
@eljawawi, maaf saya blom meiliki scriptnya, tapi bisa saja, sesuaikan dengan database, lalu insert pada tabel data per tanggal.
Mas… untuk insert ke database bgmn ya caranya?
Mas, sekarang link dari bea cukainya udh ganti ya? ada update ga scriptnya?
@Fathur, wah iya mas, ternyata website beacukai berubah total yah, lebih keren skrng, nanti kl saya ada waktu saya coba2 untuk update.
Makasih atas info nya
ikut nyimak.. kunjungan perdana nih salam kenal gan 🙂
Gan, ko boleh ane kasih saran, mnding kode2nya dibikin widget biar lbis gampang pasangnya buat yang ga ngrti code html.. kaya ane :). btw, thanks ya udah brbagi.. Salam, Oni Zamroni
Sumpah, codingnya bikin muntah. Apa yang sederhana enggak ada gitu?
minta dong yang ambil data dari bareksa.com