icode SMS 문자 자동발송 > 온라인강의

본문 바로가기
 
 
 
오늘 1,090
어제 1,706
최대 2,526
전체 3,395,609

최근 방문자

1011
1853
1775
1756
1706
1090
18 19 20 21 22 23
비즈니스의 시작 비즈명함 ~ 가격, 품질, 배송 3가지 만족을 드리는 비즈명함 / 즉석명함 / 급행서비스 / 서울 전지역 수도권일부 3시간배송

select * from g5_menu where me_use = '1' and me_link like '%lecture%'
온라인강좌 홈 > 온라인강좌 > 온라인강좌

PHP | icode SMS 문자 자동발송 (update. 2016-10-09)

페이지 정보

작성일2016-05-25 11:50 조회2,356회 댓글0건

본문

<?php
$icode_server = "211.172.232.124";
$icode_id = "아이디";
$icode_pw = "비밀번호";
$icode_port = "7295";

$send_hp_mb = "010-1234-5678"; // 보내는 전화번호 
$recv_hp_mb = "010-1234-5678"; //  받는 전화번호 

function spacing($text,$size) {
    for ($i=0; $i<$size; $i++) $text.=" ";
    $text = substr($text,0,$size);
    return $text;
}

function cut_char($word, $cut) {
//    $word=trim(stripslashes($word));
    $word=substr($word,0,$cut);                        // 필요한 길이만큼 취함.
    for ($k=$cut-1; $k>1; $k--) {
        if (ord(substr($word,$k,1))<128) break;        // 한글값은 160 이상.
    }
    $word=substr($word,0,$cut-($cut-$k+1)%2);
    return $word;
}

function CheckCommonType($dest, $rsvTime) {
    //$dest=eregi_replace("[^0-9]","",$dest);
    $dest=preg_replace("/[^0-9]/i","",$dest);
    if (strlen($dest)<10 || strlen($dest)>11) return "휴대폰 번호가 틀렸습니다";
    $CID=substr($dest,0,3);
    //if ( eregi("[^0-9]",$CID) || ($CID!='010' && $CID!='011' && $CID!='016' && $CID!='017' && $CID!='018' && $CID!='019') ) return "휴대폰 앞자리 번호가 잘못되었습니다";
    if ( preg_match("/[^0-9]/i",$CID) || ($CID!='010' && $CID!='011' && $CID!='016' && $CID!='017' && $CID!='018' && $CID!='019') ) return "휴대폰 앞자리 번호가 잘못되었습니다";
    //$rsvTime=eregi_replace("[^0-9]","",$rsvTime);
    $rsvTime=preg_replace("/[^0-9]/i","",$rsvTime);
    if ($rsvTime) {
        if (!checkdate(substr($rsvTime,4,2),substr($rsvTime,6,2),substr($rsvTime,0,4))) return "예약날짜가 잘못되었습니다";
        if (substr($rsvTime,8,2)>23 || substr($rsvTime,10,2)>59) return "예약시간이 잘못되었습니다";
    }
}

class SMS {
    var $ID;
    var $PWD;
    var $SMS_Server;
    var $port;
    var $SMS_Port;
    var $Data = array();
    var $Result = array();

    function SMS_con($sms_server,$sms_id,$sms_pw,$port) {
        $this->ID=$sms_id;        // 계약 후 지정
        $this->PWD=$sms_pw;        // 계약 후 지정
        $this->SMS_Server=$sms_server;
        $this->SMS_Port=$port;
        $this->ID = spacing($this->ID,10);
        $this->PWD = spacing($this->PWD,10);
    }

    function Init() {
        $this->Data = "";
        $this->Result = "";
    }

    function Add($dest, $callBack, $Caller, $msg, $rsvTime="") {
        // 내용 검사 1
        $Error = CheckCommonType($dest, $rsvTime);
        if ($Error) return $Error;
        // 내용 검사 2
        //if ( eregi("[^0-9]",$callBack) ) return "회신 전화번호가 잘못되었습니다";
        if ( preg_match("/[^0-9]/i",$callBack) ) return "회신 전화번호가 잘못되었습니다";

        $msg=cut_char($msg,80); // 80자 제한
        // 보낼 내용을 배열에 집어넣기
        $dest = spacing($dest,11);
        $callBack = spacing($callBack,11);
        $Caller = spacing($Caller,10);
        $rsvTime = spacing($rsvTime,12);
        $msg = spacing($msg,80);

        $this->Data[] = '01144 '.$this->ID.$this->PWD.$dest.$callBack.$Caller.$rsvTime.$msg;
        return "";
    }

    function AddURL($dest, $callBack, $URL, $msg, $rsvTime="") {
        // 내용 검사 1
        $Error = CheckCommonType($dest, $rsvTime);
        if ($Error) return $Error;
        // 내용 검사 2
        //$URL=str_replace("http://","",$URL);
        if (strlen($URL)>50) return "URL이 50자가 넘었습니다";
        switch (substr($dest,0,3)) {
            case '010': //20바이트
                $msg=cut_char($msg,20);
                break;
            case '011': //80바이트
                $msg=cut_char($msg,80);
                break;
            case '016': // 80바이트
                $msg=cut_char($msg,80);
                break;
            case '017': // URL 포함 80바이트
                $msg=cut_char($msg,80-strlen($URL));
                break;
            case '018': // 20바이트
                $msg=cut_char($msg,20);
                break;
            case '019': // 20바이트
                $msg=cut_char($msg,20);
                break;
            default:
                return "아직 URL CallBack이 지원되지 않는 번호입니다";
                break;
        }
        // 보낼 내용을 배열에 집어넣기
        $dest = spacing($dest,11);
        $URL = spacing($URL,50);
        $callBack = spacing($callBack,11);
        $rsvTime = spacing($rsvTime,12);
        $msg = spacing($msg,80);
        $this->Data[] = '05173 '.$this->ID.$this->PWD.$dest.$callBack.$URL.$rsvTime.$msg;
        return "";
    }

    function Send () {
        $fp=@fsockopen(trim($this->SMS_Server),trim($this->SMS_Port));
        if (!$fp) return false;
        set_time_limit(300);

        ## php4.3.10일경우
        ## zend 최신버전으로 업해주세요..
        ## 또는 $this->Data as $tmp => $puts 로 변경해 주세요.

        foreach($this->Data as $puts) {
            $dest = substr($puts,26,11);
            fputs($fp,$puts);
            while(!$gets) { $gets=fgets($fp,30); }
            if (substr($gets,0,19)=="0223  00".$dest) $this->Result[]=$dest.":".substr($gets,19,10);
            else $this->Result[$dest]=$dest.":Error";
            $gets="";
        }
        fclose($fp);
        $this->Data="";
        return true;
    }
}


$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($icode_server, $icode_id, $icode_pw, $icode_port);
//$SMS->Add($recv_number, $send_number, $icode_id, stripslashes($sms_content), "");
$SMS->Add($recv_number, $send_number, $icode_id, iconv("utf-8", "euc-kr", stripslashes($sms_content)), "");
$SMS->Send(); 


//exit;
//alert("성공적으로 접수되었습니다.","$PHP_SELF?ptype=list&$param");
// 문자보내기 끝 

?>
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.


목록

Total 2,005건 1 페이지
온라인강의 목록
번호 제목
2005
2004
2003
2002
2001
2000
1999
1998
1997
1996
1995
1994
1993
1992
1991
1990
1989
1988
1987
1986
1985
1984
1983
1982
1981
게시물 검색
 
 
상호: 해피정닷컴 대표:정창용 사업자등록번호:119-05-36414 (08394) 서울시 구로구 디지털로 242 한화비즈메트로1차 1502호
전화: 070-7600-3500 팩스:02-865-3528 개인정보관리:정창용 mail@happyjung.com 에스크로확인
개인정보취급방침
COPYRIGHT 2001~2017 해피정닷컴. All rights reserved. 부가통신사업신고:서울체신청-1217 통신판매신고:2014-서울구로-0074
 
모바일 버전으로 보기