JOB/PHP2010. 7. 22. 11:23

안녕하세요? 네이버 OpenAPI 담당자 입니다.

PHP를 이용하는 경우 주소 뒤에 붙게 되는 인수의 처리를 코드에 직접 삽입하는 경우가 많습니다.

10개 이내의 경우에 견딜만 하지만 10개가 넘어가기 시작하면 감당하기가 힘듭니다.

이 경우에는 http_build_query 함수$_GET 변수를 이용하면 도움이 됩니다.

예를 들어, 큰 love과 관련된 최신 이미지를 20개씩 검색하고 싶은 경우에 아래와 같은 URL 패턴을 만들게 됩니다.

http://openapi.naver.com/search?key=openapi&target=image&query=love&display=20&start=1&sort=date&filter=large

위 URL은 $_GET 변수에 배열로 저장되어 있습니다.

이것을 다시 URL로 만들고자 하는 경우에 http_build_query($_GET)을 사용하시면 기존의 URL 인수인 key=openapi&target=image&query=love&display=20&start=1&sort=date&filter=large 를 만들게 됩니다.

만약에 다음 페이지를 보고 싶은 경우에 어떻게 해야 할까요?

아래와 같은 방법을 사용하시면 편리하게 사용할 수 있습니다.

$params = $_GET;

$params['start'] += $images['display'];

$url_param = http_build_query($params);

display 되는 개수를 start 값에 더해주면 다음 페이지에 필요한 start 값을 알 수 있습니다.

그렇게 생성된 url_params를 이용하여 http://openapi.naver.com/search? 뒤에 붙여주면 되겠죠?

물론, 검색키는 항상 숨겨두셔야 하는 것! 잊지 마세요 :)

해당 함수는 PHP 5.1.2 버전 이상에서 사용할 수 있습니다.

php 설정에 따라서 & 형식으로 나오는 경우에는

php.ini 파일에서 arg_separator 를 변경하시거나,

ini_set('arg_separator.output', '&');을 수행 후 이용할 수 있습니다.

※ Python 에서는 urllib.urlencode() 함수를 이용하시면 됩니다.

[출처] [TIP] PHP의 URL 변수 관리 (네이버 OpenAPI 공식 카페) |작성자 openapi

'JOB > PHP' 카테고리의 다른 글

eAccelerator 설치  (0) 2010.04.16
[날짜] 시작일~종료일 사이의 날짜 출력  (0) 2008.06.20
Posted by webfeel