개발/php

[그누보드/영카트] 아이코드 SMS 문자 여러명한테 보내기

반응형

그누보드 SMS 기본 코드

그누보드에서 SMS을 보내기 위해서는 기본적으로 아래 코드를 사용한다. 이 방식은 1개의 번호에서 1개로 보내는 방식이다.

  include_once(G5_LIB_PATH.'/icode.sms.lib.php'); 
  
  $sql = " select cf_phone from sms5_config";
  $row = sql_fetch($sql);

  $send_hp_mb = $row['cf_phone']; // 보내는 전화번호 
  $recv_hp_mb = "01000000000"; //  받는 전화번호
 
  $send_hp = str_replace("-","",$send_hp_mb); // - 제거 
  $recv_hp = str_replace("-","",$recv_hp_mb); // - 제거 
 
  $send_number = $send_hp; 
  $recv_number = $recv_hp;  
            
  $sms_content = "문자내용"; 
 
  $SMS = new SMS; // SMS 연결 
  $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); 
  $SMS->Add($recv_number,$send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_content)), ""); 
  $SMS->Send();

 

* 자세한 내용은 아래 글에서

[개발/php] - [그누보드] 아이코드 SMS 문자보내기

 

[그누보드] 아이코드 SMS 문자보내기

글등록시, 회원가입 완료 시 등 여러 상황에서 활용 가능한 문자보내기 코드. 발신번호는 아이코드에서 미리 등록한 발신번호만 가능하고, 환경설정에서 문자 사용 체크되어있는지 꼭 확인 필

hongpage.kr

 

 

 

여러명한테 보내기

 

동시에 여러명에게 보내야하는 경우에는 아래와 같이 array()와 for문을 사용하여 번호 갯수대로 for문을 돌려줘야한다. 여러명에게 동일한 내용을 보내더라도, array()안에 들어가는 데이터 개수가 같아야한다. (orderformupdate.php 파일 참고)

 

아래 코드는 한번에 01000000000 번호로 $od_hp, $default['de_sms_hp'], 01012345678 번호로 서로 다른 내용으로 문자를 보내는 경우이다.

$sms_contents = array($default['de_sms_cont2'], $default['de_sms_cont3'], $default['de_sms_cont3']);
$recv_numbers = array($od_hp, $default['de_sms_hp'], '01012345678');
$send_numbers = array('01000000000', '01000000000', '01000000000');

$sms_count = 0;
$sms_messages = array();

for($s=0; $s<count($sms_contents); $s++) {

    $recv_number = preg_replace("/[^0-9]/", "", $recv_numbers[$s]);
    $send_number = preg_replace("/[^0-9]/", "", $send_numbers[$s]);

    $sms_content = $sms_contents[$s];

    $idx = 'de_sms_use'.($s + 2);

    if($default[$idx] && $recv_number) {
        $sms_messages[] = array('recv' => $recv_number, 'send' => $send_number, 'cont' => $sms_content);
        $sms_count++;
    } 
    
}

 

 

 

 

반응형