메뉴 건너뛰기

Dev tips

PHP file_get_content 사용하기 GET, POST

taknim 2009.08.25 16:50 조회 수 : 10757 추천:2666

http://kr2.php.net/manual/en/function.stream-context-create.phphttp://url 에 있는 내용을 가져오기 위해 여러가지 방법이 있겠지만
PHP에서는 file_get_content 함수를 사용해 쉽게 가져올 수가 있다.

아래와 같이 실행 하면 $content 에 http://url 을 호출해서 불러온 내용들을 바로 가져올수가 있다.
<?
$content = file_get_contents("http://url");
?>

물론 파라미터 전송을 할때는 ?aaa=bbb&ccc=ddd 와 같이 문자열을 구성해 url 에 붙이면 된다.
<?
$content = file_get_contents("http://url?aaa=bbb&ccc=ddd ");
?>

자~ 이제 여기서 문제가 하나 생기게 된다.
위와 같이 확인을 해보면 GET 으로만 사용이 가능하다는걸 알 수 있다.
그럼 POST 는? 그리고 프로토콜이 http 가 아니라 https 이면?

https 부터 말하자면 url 에서 http를 https 로 바꾸면 된다.
자~ 그럼 POST 는 어떻게 해야할까? 물론 방법이 있다.
아래와 같이 option 을 지정해놓고 사용해보자.

<?
$data = array ('foo' => 'bar', 'bar' => 'baz'); // post 로 받을 데이터들
$data = http_build_query($data); // url_encode 를 한 후 파라미터 구성을 해준다.

// http 통신 option을 지정한다. https 라고 해서 http 키값을 https 로 변경하지 말것.(주소에 https 라고 쓰기만 하면 된다.)
// http 배열 키 설명
// method 는 get, post 중 하나
// header 은 상황에 맞게 바꿔주면 된다.
// content 는 보낼 파라미터나 데이터를 구성
$context_options = array (
        'http' => array (
            'method' => 'POST',
            'header'=> "Content-type: application/x-www-form-urlencoded\r\n"
                . "Content-Length: " . strlen($data) . "\r\n",
            'content' => $data
            )
        );

$context = context_create_stream($context_options);
$content = file_get_contents("http://url", false, $context);
?>
번호 제목 글쓴이 날짜 조회 수
59 [gd] imagecopyresampled 이미지 썸네일 생성 taknim 2017.03.15 1101
58 [gd] image_filter 이미지 흑백 처리 taknim 2017.03.15 662
57 랜덤 문자열(쿠폰번호) 생성 taknim 2016.12.15 12265
56 SEED 블록암호 알고리즘 소스 (C/C++, JAVA, ASP, JSP, PHP) [1] file taknim 2016.05.27 1641
55 Excel & Office read/write - phpexcel taknim 2014.09.26 3152
54 [php] euckr 에서 깨지는 문자 해결 #2 taknim 2012.02.16 5729
53 [php] euckr 에서 깨지는 문자 해결 taknim 2012.02.15 6525
52 [암호화] hash 관련 함수들... taknim 2011.12.20 6725
51 [php] ctype - 문자열 체크 taknim 2010.08.02 10837
50 register_global = off 일때 GET,POST,GOOKIE 등 변수 가져오기 taknim 2010.06.28 11547
49 mcrypt 암호화/복호화 AES/CBC/PKCS5/PKCS7/PADDING [1] taknim 2010.03.19 19856
48 php 오버라이딩 구현 taknim 2010.02.23 10580
47 [php] imagettftext 사용할때 문자열 정렬하기 taknim 2009.10.21 13931
46 php.ini 설정 taknim 2009.09.28 9792
45 PHP 클래스 autoload 및 instance 공유 secret taknim 2009.09.16 2
44 PHP 에서 MySQL 바인딩 구현 taknim 2009.09.11 9237
» file_get_content 사용하기 GET, POST taknim 2009.08.25 10757
42 [PHP] 소켓 통신할때 패킷이 길어서 받지 못 할 때 해결 방법 taknim 2009.08.07 8739
41 [객체지향] this / __get() / __set() / clone / autoload / :: taknim 2009.06.11 9362
40 [php.ini] auto_prepend_file, auto_append_file 설정 taknim 2009.06.04 11801