function num_to_han_s($mny,$st=0){
//숫자를 4단위로 한글 단위를 붙인다.
//num_to_han_s('123456789') -> 1억2345만6789 
//num_to_han_s('123456789',4) -> 1억2345만
//num_to_han_s('123456789',6) -> 1억2345만 //무조건 4단위로 끊음
$j2 = array("","만","억","조","경"); // 단위의 한글발음 (조 다음으로 계속 추가 가능)
$arr=array();
$m=strlen($mny);
for($i=0;$i<$m;$i++){
 $arr[]=$mny{$i};
}
$arr = array_reverse($arr);
$arrj1 = array();
$arrj2 = array();
for($i=0,$m=count($arr);$i<$m;$i++){
//  $arrj1[] = $j1[$i%4]; 
 $arrj2[] = $j2[floor($i/4)];
}
$cu = '';
$mstr = '';
$st = floor($st/4)*4;
for($i=$st,$m=count($arr);$i<$m;$i++){
  $t = $arr[$i];
  if($cu != $arrj2[$i]){
$cu = $arrj2[$i];
$t.=$cu;
  }
 $mstr = $t.$mstr;
}
return($mstr); 
}

'PHP' 카테고리의 다른 글

php 숫자 한글단위 변환 함수  (0) 2011/01/19
PHP-WCF 연동기  (0) 2011/01/13
PHP 5.3x mssql연동  (0) 2011/01/04
php 랜덤 동일한수 안나오게하기  (0) 2010/10/07
php script 문자막기  (0) 2010/07/14
외부iis 다운로드시  (0) 2010/07/02
PHP-WCF 연동기 PHP 2011/01/13 15:08
PHP 에서 WCF 호출을 위해 SoapClient 를 사용하면 간단하다.
사용 예)

$client = new SoapClient( 
'http://MyService/Serviece.svc?wsdl'
);
$result = $client->Servicer(array("id"=>$id,"gameType"=>$gameType));
//넘어온 data는 json형식입니다.
$rs =  json_decode($result->sServicerResult)->Table;

위가 소프방식의 간단한 호출 방식이다. new SoapClient 호출할 WCF주소를 입력후 
파람값들은 아래 WCF에서 필요로 하는 파람과 실제 값을 차례대로 , 찍어 보내면 끝!!!

그럼 wcf를 함 보겠습니다. wcf는 c# 을 기본으로 하는 언어입니다. DataSet 으로 파일을 던지면 php에서 파싱하기가 곤란 하겠죠?ㅋㅋ 그래서 json이나 xml로 변환후 php로 던져줍니다. 그럼 한결 편하게 php에서 파싱하기가 쉽습니다.

주저리..주저리..

DataSet을 간편하게 json화 시켜주는 converter들은 많이 있으니 찾아보시길.ㅡㅡ;;ㅋㅋ
저는 Newtonsoft.Json 을 사용합니다. 사용 예)

 DataSet result = cs.ExecuteDataSet(cmb);

            string resultJson = JsonConvert.SerializeObject(result);
return resultJson;

이런식으로 json타입으로 던져줍니다.

그럼 받는곳인 php 에서도 5.2버젼 이후에는 json을 지원하므로 파싱도 보다 편리하게 할수 잇습니다.
$rs =  json_decode($result->sServicerResult);

이렇게 하여 print_r($rs); 해보시면 json방식의 데이터를 array와 property로 넘겨준것을 확인 하실수 있습니다.^^

그럼 이만.. 주저리 주저리 끝까지 봐주셔서 감사합니다 

'PHP' 카테고리의 다른 글

php 숫자 한글단위 변환 함수  (0) 2011/01/19
PHP-WCF 연동기  (0) 2011/01/13
PHP 5.3x mssql연동  (0) 2011/01/04
php 랜덤 동일한수 안나오게하기  (0) 2010/10/07
php script 문자막기  (0) 2010/07/14
외부iis 다운로드시  (0) 2010/07/02
PHP 5.3x mssql연동 PHP 2011/01/04 18:08

PHP 5.2 Version 까지는 php_mssql.dll extension에 포함되어 있어 php.ini에서

extension=php_mssql.dll 만 추가하면 되었는데 --;

 

5.3 Version에서는 php_mssql.dll 확장도 없고 php_mssql.dll 을 확장에 넣은 후 php.ini 설정을 해도 제대로 동작하지 않는다. .. 젠장 -_-;

 

이제 5.3 Version에서 MSSQL을 연동하기 위한 작업을 시작하자

 

먼저 “ntwdblib.dll”이 Windows 디렉토리 아래 system32에 있는지 확인하고 없으면 웹에서 구해서 넣는다.

 

다음으로 Microsoft SQL Server 2008 Native Client 를 설치해야 하는데 MSSQL Server Web Server, PHP  동일한 서버에 설치되어 있다면 Pass ~

 

만약 MSSQL Server가 다른 PC에 설치되어 있다면 Microsoft SQL Server 2008 Native Client를 설치해야 한다아래의 링크에서 다운받을 수 있다.

 

http://www.microsoft.com/downloads/details.aspx?familyid=C6C3E9EF-BA29-4A43-8D69-A2BED18FE73C&displaylang=ko

 

 

Microsoft SQL Server 2008 Native Client을 다운받은 후 실행하면 아래와 같은 다이얼로그 나타나고 실행 버튼을 누르면 설치가 진행된다.

 

 

 

다음 버튼을 클릭 !!!

 

 

다음 버튼을 클릭 !!!

 

 

다음 버튼을 클릭 !!!

 

 

이번엔 설치 버튼을 누르면 설치가 진행된다.

 

 

마침 버튼을 누르면 설치가 완료된다.

 

 

마지막으로 SQL Server Driver for PHP 1.1을 설치한다아래 링크에서 SQL Server Driver for PHP 1.1를 다운받는다.

 

http://www.microsoft.com/downloads/details.aspx?FamilyID=CCDF728B-1EA0-48A8-A84A-5052214CAAD9&displayLang=en

 

다운받은 파일을 설치한다. 실행 버튼을 클릭 !!!

 

 

라이센스에 동의하고 Yes 클릭

 

 

dll 파일들이 설치될 위치를 지정한다. PHP가 설치된 디렉토리 내의 ext 디렉토리를 지정하면 된다. OK를 누르면 dll들이 설치된다.  

 

 

PHP 설치 디렉토리의 ext 디렉토리에 추가적으로 파일들이 설치된 것을 확인할 수 있다.

 

 

 

아래 화면이 나오면 설치가 제대로 된거라고 생각해도 된다. ^^:

 

 

마지막으로 php.ini에 마지막에 다음과 같이 MSSQL 설정을 추가한다.

 

 

마지막으로 Web Server를 종료 한 후 다시 실행시킨다.

 

아래는 테스트를 위한 PHP 코드이다. MSSQL에 Connection 했다가 바로 끊는 --;

제대로 실행이 않된다면 서버 설정이 잘못됐거나 PHP 설정이 잘못된 것이다.

Bug Fix는 알아서 해도 된다. ㅎㅎ

 

 

'PHP' 카테고리의 다른 글

php 숫자 한글단위 변환 함수  (0) 2011/01/19
PHP-WCF 연동기  (0) 2011/01/13
PHP 5.3x mssql연동  (0) 2011/01/04
php 랜덤 동일한수 안나오게하기  (0) 2010/10/07
php script 문자막기  (0) 2010/07/14
외부iis 다운로드시  (0) 2010/07/02
<?
function getRndSpecChar($getcnt,$arrSpecChar) { 
 $tmpchar = ""; 
 $arrcnt = count($arrSpecChar); 
 $rtnvalue = ""; 

  $tmpchar = $arrSpecChar[rand(0,$arrcnt-1)];  
 return $tmpchar; 


function multisort($array, $sort_by) {
    foreach ($array as $key => $value) {
        $evalstring = '';
        foreach ($sort_by as $sort_field) {
            $tmp[$sort_field][$key] = $value[$sort_field];
            $evalstring .= '$tmp[\'' . $sort_field . '\'], ';
        }
    }
    $evalstring .= '$array';
    $evalstring = 'array_multisort(' . $evalstring . ');';
    eval($evalstring);

    return $array;


$arrSpecChar = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18); 
//print_R( array_diff($arrSpecChar,array('aa','bb')));

for($i=1; $i<19;$i++){
//echo getRndSpecChar(1).'<br />'; 
$sa = getRndSpecChar(1,$arrSpecChar);
$s = array($sa);

$arrSpecChar=array_diff($arrSpecChar,$s);
$as = array();

$arrSpecChar = multisort($arrSpecChar,$arrSpecChar);

echo $sa.'<br />';  

}


?>


위에서 처럼 배열을 이용하였다,.. 배열에

일정 필요로 하는 수를 넣은후 동작 하시면 됩니다.. 소스를 간략히 comment를 달면.. 나온 원소 값을

array에서 제거하는 함수임 array_diff() 원소 제거 함수를 쓴후 multisort() 라는 함수를 정의해 놓은곳

에 함수를 넣으면 sorting효과가 난다.. 그러면 해당 key값은 다시 정의 되며,, 배열 또한 재정의 된다.

이러한 식으로 동일한 값이 나오는 것을 방지 하였다

'PHP' 카테고리의 다른 글

PHP-WCF 연동기  (0) 2011/01/13
PHP 5.3x mssql연동  (0) 2011/01/04
php 랜덤 동일한수 안나오게하기  (0) 2010/10/07
php script 문자막기  (0) 2010/07/14
외부iis 다운로드시  (0) 2010/07/02
md5 기반 base64 로된 인코딩및 디코딩 암호  (1) 2010/05/31
php script 문자막기 PHP 2010/07/14 14:07
ereg_replace("\<script[[:space:]]*\>","&lt;script&gt;",$_POST['content']);

정규 표현식을 사용해서

script에러내기를 사전에 맞는다.. "<"표시를 $lt로 변환 마찬가지로 ">" 표시를 &gt로 변환한다.

html창에 보이기는 원래 <> 이표시로 보일것으로 예상은 하시겠죠^^?ㅎㅎ


'PHP' 카테고리의 다른 글

PHP 5.3x mssql연동  (0) 2011/01/04
php 랜덤 동일한수 안나오게하기  (0) 2010/10/07
php script 문자막기  (0) 2010/07/14
외부iis 다운로드시  (0) 2010/07/02
md5 기반 base64 로된 인코딩및 디코딩 암호  (1) 2010/05/31
Frame SET 새로고침 현상 해결하기.  (0) 2010/05/25
외부iis 다운로드시 PHP 2010/07/02 16:54

header방법으로 해서 외부 url 을줘서 다운을 불가능 하다..

그래서 해결책.. 일반적인 방법이다.

해당 iis폴더로 가서 dowload파일을 심는다..

해당 페이지에서 위에 심어놓은 download파일을 호출한다.. ex)<a hre="http:///~~~~//~~~/.download.php?filename=<?$filename?>">

이방법이 제일쉽다..

다른 방법을 아시는분은 알려주세요.ㅠㅠ

'PHP' 카테고리의 다른 글

PHP 5.3x mssql연동  (0) 2011/01/04
php 랜덤 동일한수 안나오게하기  (0) 2010/10/07
php script 문자막기  (0) 2010/07/14
외부iis 다운로드시  (0) 2010/07/02
md5 기반 base64 로된 인코딩및 디코딩 암호  (1) 2010/05/31
Frame SET 새로고침 현상 해결하기.  (0) 2010/05/25

  /******************************************/
  /*   인코딩및 디코딩 함수        */
  /******************************************/
    function encrypt_md5_base64($plain_text, $password="키값", $iv_len = 키길이)
    {
        $plain_text .= "\x13";
        $n = strlen($plain_text);
        if ($n % 16) $plain_text .= str_repeat("\0", 16 - ($n % 16));
        $i = 0;
        while ($iv_len-- >0)
        {
            $enc_text .= chr(mt_rand() & 0xff);
        }
       
        $iv = substr($password ^ $enc_text, 0, 512);
        while($i <$n)
        {
            $block = substr($plain_text, $i, 16) ^ pack('H*', md5($iv));
            $enc_text .= $block;
            $iv = substr($block . $iv, 0, 512) ^ $password;
            $i += 16;
        }
        return base64_encode($enc_text);
    }
    function decrypt_md5_base64($enc_text, $password="키값", $iv_len = 키길이)
    {
        $enc_text = base64_decode($enc_text);
        $n = strlen($enc_text);
        $i = $iv_len;
        $plain_text = '';
        $iv = substr($password ^ substr($enc_text, 0, $iv_len), 0, 512);
        while($i <$n)
        {
            $block = substr($enc_text, $i, 16);
            $plain_text .= $block ^ pack('H*', md5($iv));
            $iv = substr($block . $iv, 0, 512) ^ $password;
            $i += 16;
        }
        return preg_replace('/\x13\x00*$/', '', $plain_text);
    }
    /******************************************/


중요하지 않은 즉. 아이디를 그냥 쿠키에 날라다니게 하면 쫌 그렇지 않나요^^'';;ㅎㅎ

보안상 암호화 해서 쿠키에 저장하고.. get방식때도.. 그렇구요;; 제생각에느 정말 간단하게 쓸수 있는

암호화 프로그램 이에요;;; ㅎㅎㅎ

그리고 모 사용법은 없죠 따로;; 그냥 파라미터에 있는 키값을 인코딩 디코딩 함수를 맞춰 주기만 한다면..아 그리고 키길이도 맞춰

주어야 ㅅㅏ용되요~^^;

즐거운 하루 되세요~

'PHP' 카테고리의 다른 글

PHP 5.3x mssql연동  (0) 2011/01/04
php 랜덤 동일한수 안나오게하기  (0) 2010/10/07
php script 문자막기  (0) 2010/07/14
외부iis 다운로드시  (0) 2010/07/02
md5 기반 base64 로된 인코딩및 디코딩 암호  (1) 2010/05/31
Frame SET 새로고침 현상 해결하기.  (0) 2010/05/25
Frame SET 새로고침
현상
현상 해결하기.

cooKie로 해결방법

FRAMESET 페이지 상단에 쿠키값을 불러오는 페이지 가져오기

<?
$src = (!$_COOKIE[frm2]) ? "../login/login.html" : $_COOKIE[frm2];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>mytorrent 관리자</title>
</head>

<frameset rows="0, *" frameborder="no" frameborder="0" border="0" framespacing="0" noresize >
    <frame name = "frm1" scrolling ="0" noresize src="about:blank" />
    <frame name = "frm2" scrolling="1" src="<?=$src?>"/>
</frameset>
</html>

//그외에 해당 페이지에  저는 include 방식으로 페이지를 불러 오므로 한페이지 최상단에 페이지링크만 걸엇습니다.

<?
$frm = "frm2";
include "common/frminc.php";
?>

//frminc.php 내용

<?
@extract($_SERVER);
define("GETURL" , $PHP_SELF . "?" . $QUERY_STRING);
if($_COOKIE[frm2] != GETURL) setcookie($frm,GETURL,0,"/");
echo $_COOKIE[frm2];
?>









No definition found.

'PHP' 카테고리의 다른 글

PHP 5.3x mssql연동  (0) 2011/01/04
php 랜덤 동일한수 안나오게하기  (0) 2010/10/07
php script 문자막기  (0) 2010/07/14
외부iis 다운로드시  (0) 2010/07/02
md5 기반 base64 로된 인코딩및 디코딩 암호  (1) 2010/05/31
Frame SET 새로고침 현상 해결하기.  (0) 2010/05/25