태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
2017.04.07 14:45

<?php


ob_start();

print_r("\n\n\n======== " . date('Y-m-d H:i:s') . " ========\n");

print_r("\n\n_REQUEST\n\n");

print_r($_REQUEST);

print_r("\n\nheader\n\n");

print_r(getallheaders());

print_r("\n\nHTTP_RAW_POST_DATA\n\n");

print_r($HTTP_RAW_POST_DATA);

print_r("\n\nphp://input\n\n");

print_r(file_get_contents("php://input")); // 아파치

print_r(file_get_contents("php://stdin")); // 아파치가 아닐때


$str = ob_get_contents();

ob_end_clean();


echo $str;


Posted by 네오미르
2015.06.22 13:32

1. https://www.google.com/recaptcha 이동하여 신청하기
- Label, Domains, Owners 등을 입력

2. Site key, Secret key 확인하기
- site key, secret key 를 확인 


3. 해당 기능을 적용
- 해당 기능을 적용할 페이지에 

<script src='https://www.google.com/recaptcha/api.js'></script>

<form>
...
...
<div class="g-recaptcha" data-sitekey="6Lf2rggTAAAAAHAAvwDuCgwSUOq9X1fsnkRac4_a"></div> // site key (6Lf2~~~)
...

</form>

이렇게 스크립트와 <div> 을 삽입

4. 서버측 스크립트 적용
- 클라이언트에서 전달받은 form 값을 처리하는 페이지에

// secret key 와 from 으로 전달받은 g-recaptcha-response 값을 구글로 전달하여 인증처리
$url = 'https://www.google.com/recaptcha/api/siteverify?secret=6Lf2rggTAAAAADUZYqd2MExqeAs93PColbKERip9&response='.$_POST['g-recaptcha-response'];

$flag = json_decode(file_get_contents($url));

if (!$flag->success) {

// 예외처리 

exit;

}

...
...




Posted by 네오미르
2014.08.07 10:52

1. bit.ly 회원가입하기 - 링크
 - bit.ly 를 이용한 단축 URL 을 이용하려면 우선 bit.ly 에 회원가입을 해야합니다.


2. apiKey 확인하기
https://bitly.com/a/settings/advanced 페이지의 하단에 보면 아래 그림과 같이 Login 과 API Key 값을 확인할수 있습니다.


3. 함수
- $login, $apiKey 값에 위에서 확인한 값을 대입한다.

function bitly($uri=false) {

$login = 'o_xxxxxxxxxx';

$apiKey = 'R_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';


if (stripos($uri, 'http://') === false && stripos($uri, 'https://') === false) $uri = 'http://'.$uri;


$url = "https://api-ssl.bitly.com/v3/shorten?login={$login}&apiKey={$apiKey}&format=txt&uri=".$uri;


// file_get_contents()를 사용할수 있다면

if (ini_get('allow_url_fopen')) {

$shortURL = file_get_contents($url);

} else {

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_HEADER, false);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$shortURL = curl_exec($ch);

curl_close($ch);

unset($ch);

}


return trim($shortURL);

}


Posted by 네오미르
2013.11.27 15:22

setlocale(LC_CTYPE, 'ko_KR.eucKR'); // 이부분을 추가하면 정상적으로 한글을 처리할수 있음

$fp = fopen($file, 'r');
$length = 1000;
$delimiter = ',';
while ($tmp=fgetcsv($fp, $length, $delimiter)) {
    ...
    ...
}

Posted by 네오미르
2013.01.02 16:20

PHP에서 json_decode 함수를 사용하려면 몇가지 지켜줘야 하는게 있다.


$str = "{'key':'value', 'key':'value'}" 이렇게 하면 NULL값이 반환

$str = '{"key":"value", "key":"value"}' 이렇게 key와 value 를 큰따옴표(")로 묶어야만 정상적으로 작동한다.

Posted by 네오미르
2012.10.12 14:21

1. 인증서 만들기
1.1. 우선 응용 프로그램 > 유틸리티 > 키체인 접근 실행

키체인 접근 > 인증서 지원 > 인증 기관에서 인증서 요청


요청항목을 디스크에 저장됨으로 변경

2. Pass Type ID 만들기

2.1. iOS Provisioning portal 이동 

우측 상단의 [New Pass Type ID] 클릭한다.

Description과 Identifier 에 적당한 값을 입력하고 [Submit] 클릭

방금 새로 추가한 Pass Type ID 가 보일것이며, Configure 클릭

우측의 [Continue] 클릭

우측 아래의 [Continue] 클릭

[파일첨부]클릭해서 조금전에 만든 "CertificateSigningRequest.certSigningRequest" 파일을 선택하고 [Generate] 클릭

[Continue] 클릭

[Download] 클릭하면 인증서 다운로드되며 나중에 리스트에서도 다운로드 가능

리스트의 Action 항목이 Configure에서 Download로 변경되어있다.

다운받은 pass.cer 을 더블클릭해서 키체인 접근에 추가한후

방금 추가한 Pass Type ID 선택 마우스 우측버튼클릭

팝업창에서 ~~~ 보내기 선택

파일명을 적당히 변경하여 XXXX.p12 파일 생성

OSX 계정 비밀번호 입력

WWDR Intermediate certificate 다운받아서 더블클릭해서 키체인 접근에 등록후

방금 등록된 인증서 선택후 마우스 우측버튼 클릭

보내기 선택

파일 포맷을 .pem 선택후 저장하기


위 과정을 통해서 XXXXX.p12 파일과 XXXXX.pem 파일을 생성했으면 지금까지 작업은 정상적으로 마무리된것이다.

https://github.com/tschoffelen/PHP-PKPass 이동하기

https://github.com/tschoffelen/PHP-PKPass 다운받기


3. 서버세팅하기

웹서버에 php-pkpass 파일들과 XXXX.p12, XXXX.pem 파일을 웹서버에 업로드한다.

example.php 파일을 열어서

$pass->setCertificate('xxxx.p12'); // 경로에 맞게 수정

$pass->setCertificatePassword('인증서생성시설정한패스워드입력');

$pass->setWWDRcertPath('xxxx.pem'); // 경로에 맞게 수정

"passTypeIdentifier": "8K9R94ZWH2.pass.kalljin", //11라인

"teamIdentifier": "kalljin pass test",  // 15라인

아래사진을 참고해서 11라인에는 ~~~.pass.sample 입력

15라인에는 sample 입력

우측의 [Continue] 클릭

이제 localhost/path/example.php 를 아이폰의 사파리에서 접근해보면

아래처럼 나오면 정상적으로 마무리된것이고 아니라면 다른 문제가 있는것이다.




Posted by 네오미르
2012.10.10 09:54

해외 웹호스팅 서비스를 이용하게 되면 시차가 존재하게됩니다.

이문제를 해결하기 위해서는

root 폴더에 .htaccess 파일이 있을텐데 (만약에 없다면 하나 만드세요)

php_value date.timezone "Asia/Seoul" 을 추가하면 됩니다.


Posted by 네오미르
2009.08.12 15:33

서버환경
OS : Windows XP SP3
APM : Autoset 4.3.2 [사이트]
DB : SQL Server 2008 Express

SQL Server 2005 버전부터는 mssql_*() 함수들을 이용하여 접근이 불가능합니다.
ntwdblib.DLL 을 최신버전으로 교체하면 된다고하던데 저는 그래도 안되더군요.

설치하기

우선 SQLServerDriverForPHP 를 다운로드 합니다.

다운받은 파일을 실행해서 적당한곳에 풉니다.


위와같이 파일이 풀리고 php_sqlsrv.dll, php_sqlsrv_ts.dll 을 PHP가 설치된 폴더의 ext 폴더로 이동시킵니다
AutoSet으로 예를 든다면 C:\AutoSet\Server\php5.2\ext 가 되겟죠

이제는 Microsoft SQL Server Native Client 을 설치해야 합니다.
이것은 아까 푼 폴더에보면 SQLServerDriverForPHP_Readme.htm 을 보시면 다운로드 받을수 있게 링크가 있습니다

편의를 위하여 링크를 제공합니다.
Download the X86 package
Download the X64 package
Download the IA64 package

서버 환경에 맞는걸로 다운로드 받고 설치하세요. 위의 다운로드 링크는 microsoft 사의 링크입니다.

설치하는것은 이것으로 완료되었습니다. 이제는 설정을 손을 봐야합니다.
만약 SQL Server Native Clinet 를 설치하지않고 php에서 연결을 테스트할 경우 ODBC가 설정안되어 있다는 내용의에러 메시지를 제공할겁니다.

설정하기
AutoSet 설정하기
아까 추가한 확장모듈이 보이요? 그것을 선택하고 변경사항을 저장한다음 웹서버를 재시작합니다.

SQL Server 2008 Express 연결하기
Express 버전의 경우 기본적으로 원격연결이 허용되어 있지않습니다.

SQL Server 구성관리자를 실행시킵니다.
SQL Server 네트워크 구성을 보시면 TCP/IP, 명명된 파이프 가 사용 안 함으로 되어있을텐데 이것을 사용으로 바꿉니다.

TCP/IP를 더블클릭하거나 속성창을 엽니다.
사용을 '예'로 변경 TCP포트를 1433으로 지정, IPALL의 TCP포트를 1433입력하시고 SQL Server를 재시작하면 됩니다.
Posted by 네오미르
2007.03.12 11:07
PHP에서 혹시 세션이나 쿠키가 정상적으로 안구워지는 경우 겪어 보셨나요??

그것은 바로 2차도메인, 호스트명에 "_"가 들어있을경우

정상적으로 세션이나 쿠키를 생성하지 못하는 경우가 발생합니다...

php관련 포럼이나 사이트에서도 종종보게 되는 에러입니다..

해결책은 당근 2차도메인을 바꿔야 겠져..

Posted by 네오미르
2006.12.22 15:53
문자나 숫자등을 출력할때 특정한 포맷에 맞춰야 되는경우가 있을 것이다....
예를들어 2006-05-05 이렇게 출력해야되는데...
$year = 2006;
$month = 5;
$day = 5;
echo $year.'-'.$month.'-'.$day;
//-> 2006-5-5

if ($month < 10) $month = '0'.$month;
if ($day < 10)  $day = '0'.$day;
이렇게 하면 아래와 같이 출력될것이다..
하지만.. 조잡해 보이지 않는가...

echo $year.'-'.$month.'-'.$day;
//->2006-05-05

$year = 2006;
$month = 5;
$day = 5;

printf("%04s-%02s-%02s", $year, $month, $day);
//->2006-05-05
%04s의 의미는
0 = 삽입할 문자
4 = 삽입할 최대길이 출력할 변수의 길이가 4이하일경우 나머지는 0으로 출력한다
s = 출력할변수의 타입이 문자열이라는 의미
혹시라도 모르는 분들이 있을지 몰라서 써봅니다..
Posted by 네오미르