Tutorial Membuat Script Broadcast SMS via Import Excel
PHP - Tutorial Membuat Script Broadcast SMS via Import Excel, SMS Gateway Gammu Enggine
Sesuai janji saya sebelumnya, janji saya yang ada pada Tutorial PHP - SMS Gateway 5 : Membuat Script Broadcast SMS saya akan share caranya untuk membuat script untuk mengirim SMS broadcast massal berdasarkan nomor telp yang di import dari file microsoft excel. Dengan scrit ini tentunya kita dapat dimudahkan karena pengiriman sms bisa dengan mudahnya hanya melalui data yang ada pada microsoft excel.
Nanti kita akan membutuhkan contoh file excel yang nantinya akan diupload. Untuk Contoh data excelnya saya sertakan pada file download saya di bagian bawah artikel ini. OK sob langsung saja kita mulai pembuatannya.
Folder project
Pertama sobat semua buat folder project broadcast sms panjang ini yang digunakan untuk menyimpan beberapa script berikut ini. Misalkan folder "sms_excel".
Config.php
Selanjutnya buat script config.php ini berisikan koneksi yang ada pada database gammu enggine, pastikan nama database, username dan password yang ada sama dengan yang ada di phpMyadmin. Berikut ini scriptnya, silahkan copy dan pastekan di text editor notepadd++ atau sublime text sobat, lalu simpan dengan nama file config.php.
<?php // koneksi ke database $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $dbname = 'sms'; mysql_connect($dbhost, $dbuser, $dbpass); mysql_select_db($dbname);
Function.php
Selanjutnya mari kita buat script function yang digunakan untuk mengirim sms ke group yang dipilih, berikut ini scriptnya silahkan copy dan kasih nama function.php.
<?php function ngirimsms($nohp, $pesan, $modem) { $pesan = str_replace("'", "\'", $pesan); if (strlen($pesan)<=160) { $query = "INSERT INTO outbox (DestinationNumber, TextDecoded, SenderID, CreatorID) VALUES ('$nohp', '$pesan', '$modem', 'Gammu')"; $hasil = mysql_query($query); } else { $jmlSMS = ceil(strlen($pesan)/153); $pecah = str_split($pesan, 153); $query = "SHOW TABLE STATUS LIKE 'outbox'"; $hasil = mysql_query($query); $data = mysql_fetch_array($hasil); $newID = $data['Auto_increment']; $random = rand(1, 255); $headerUDH = sprintf("%02s", strtoupper(dechex($random))); for ($i=1; $i<=$jmlSMS; $i++) { $udh = "050003".$headerUDH.sprintf("%02s", $jmlSMS).sprintf("%02s", $i); $msg = $pecah[$i-1]; if ($i == 1) { $query = "INSERT INTO outbox (DestinationNumber, UDH, TextDecoded, ID, MultiPart, SenderID, CreatorID) VALUES ('$nohp', '$udh', '$msg', '$newID', 'true', '$modem', 'Gammu')"; } else $query = "INSERT INTO outbox_multipart(UDH, TextDecoded, ID, SequencePosition) VALUES ('$udh', '$msg', '$newID', '$i')"; mysql_query($query); } } return 'SMS sending...'; } ?>
Index.php
Selanjutnya kita buat script index.php, yaitu script yang digunakan untuk mngisi form inputan text dan upload data excelnya, jadi kita bisa import data excel ini pada form ini. Jadi siapkan data yang akan di import ya gan,
<?php include "config.php"; include "function.php"; ?> <html> <head> <title>Tutorial Membuat Script Broadcast SMS via Import Excel</title> </head> <body> <h1>Tutorial Membuat Script Broadcast SMS via Import Excel</h1> <form method="post" enctype="multipart/form-data" action="index.php"> Pilih file source<br> <input type="hidden" name="MAX_FILE_SIZE" value="20000000"> <input name="userfile" type="file" size="50"><br><br> Masukkan template SMS<br> <textarea name="template" cols="50" rows="8"></textarea><br><br> <input type="submit" name="submit" value="Kirim SMS"> </form> <?php if (isset($_POST['submit'])) { require_once 'excel_reader2.php'; $data = new Spreadsheet_Excel_Reader($_FILES['userfile']['tmp_name']); // baca jumlah total baris dan kolom file excel $baris = $data->rowcount($sheet_index=0); $kolom = $data->colcount($sheet_index=0); // proses pembacaan setiap baris data, mulai pada baris ke-2 for ($i=2; $i<=$baris; $i++) { // string template SMS $string = $_POST['template']; // proses pattern matching, mencari bentuk [...] dalam template sms preg_match_all("|\[(.*)\]|U", $string, $hasil, PREG_PATTERN_ORDER); for($j=1; $j<=$kolom; $j++) { $value[strtoupper($data->val(1, $j))] = $data->val($i, $j); // membaca nomor hp dari kolom ke-1 file excel $nohp = $data->val($i, 1); } // proses mengubah pattern [...] di template // menjadi value sesuai nama kolom di excel foreach($hasil[1] as $key => $nilai) { $string = str_replace('['.$nilai.']', '['.strtoupper($nilai).']', $string); $kapital = strtoupper($nilai); $string = str_replace('['.$kapital.']', $value[$kapital], $string); } // jika nomor hp tidak kosong, maka lakukan pengiriman sms if (is_string($nohp) && ($nohp != '')) { ngirimsms($nohp, $string, ''); } } echo "<p>SMS dalam pengiriman</p>"; } ?> </body> </html>
Sekian tentang Tutorial Membuat Script Broadcast SMS via Import Excel, mudah bukan cara membuatnya, sekian postingan kali ini, semoga bermanfaat bagi sobat semua yang sedang belajar membuat sms gateway. Selanjutnya saya akan buat cara membuat scrit auto refresh.
Jangan lupa untuk kunjungi artikel lainnya, seperti membuat toko online, membuat sistem informasi penerimaan mahasiswa. dan Masih banyak lagi yang lainnya.
Posting Komentar untuk "Tutorial Membuat Script Broadcast SMS via Import Excel"