테스트 사이트 - 개발 중인 베타 버전입니다

영카트1 sms 발송관련 질문드립니다

· 15년 전 · 5 · 1
영카트1사용중입니다

DB변경 이유때문에 영카트를 utf1으로 변경햇습니다

그런데 sms발송이문제네요..

문자는 발송이되는데 발송이된 문자가 깨져잇는상태입니다

smsform.php 에서 변경해주면 될것도같은데

방법이 없을가요

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

영카트4에 있는 아이코드 소스를 올립니다. 참고하십시오.
코드를 만들어 드리지 못함을 양해 바랍니다.


lib/icode.sms.lib.php


<?
if (!defined('_GNUBOARD_')) exit;
// 아이코드에서 제공하는 함수

///////////////////////////////////////////////////////////////////////////////////////////
// 이 부분은 건드릴 필요가 없습니다.

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);
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 "휴대폰 앞자리 번호가 잘못되었습니다";
$rsvTime=eregi_replace("[^0-9]","",$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="") {
global $g4;

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

// 아이코드에서는 문자에 utf-8 인코딩 형식을 아직 지원하지 않는다.
if (strtolower($g4['charset'])=='utf-8') {
if (function_exists("iconv")) {
$msg = iconv("utf-8", "euc-kr", $msg);
}
}

$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 최신버전으로 업해주세요..
## 또는 122번째 줄을 $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;
}
}
?>

게시글 목록

번호 제목
14296
14293
14290
14288
14284
14282
14280
14277
14275
14273
14271
14269
14267
14264
14262
14261
14259
14257
14253
14251