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

본문 바로가기
 
 
 
오늘 2,113
어제 2,341
최대 2,526
전체 3,261,225

최근 방문자

1673
994
927
1806
2341
2113
24 25 26 27 28 29
비즈니스의 시작 비즈명함 ~ 가격, 품질, 배송 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,151회 댓글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 1,945건 1 페이지
온라인강의 목록
번호 제목
1945
Search SEO 최적화 메타 구성하기 (update.2017-03-29)새글  Hit.9
1944
JSP alert 창 띄우기 (write.2017-03-29)새글  Hit.9
1943
JSP MSSQL 접속설정하기 (write.2017-03-29)새글  Hit.10
1942
그누보드 [G5] 전체쪽지 보내기 (write.2017-03-29)새글  Hit.9
1941
1940
Adobe Adobe CS3~CC 프로그램 완전삭제 (write.2017-03-21)  Hit.117
1939
1938
JSP utf-8 한글깨짐 (write.2017-03-20)  Hit.125
1937
1936
1935
1934
1933
그누보드 [G5] 게시물 순서 바꾸기 (write.2017-03-16)  Hit.175
1932
전자결제 [PayPal] PHP 결제연동 (write.2017-03-15)  Hit.176
1931
전자결제 [PayPal] ASP 결제 연동 (write.2017-03-15)  Hit.171
1930
1929
1928
JSP Service Temporary Unavailable! (write.2017-03-13)  Hit.189
1927
그누보드 [G5] [최신글] 한줄소식 (write.2016-02-19)인기글첨부파일  Hit.1706
1926
1925
1924
1923
1922
일반 FireFox 플러그인 (write.2015-02-28)인기글  Hit.2069
1921
게시물 검색
 
 
상호: 해피정닷컴 대표:정창용 사업자등록번호: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
 
모바일 버전으로 보기