IT/리눅스팁

PHP로 원격블로깅(XMLRPC) 툴 제작 함수

k2man 2011. 9. 18. 12:12
반응형

PHP로 원격블로깅 툴을 개발하기 위해서 가장 기본이 되는 함수입니다. (몇 개의 예제를 봤는데, 보편적으로 적용하기 어려워서 만들었습니다.)

metaWeblog 지원하는 블로그에 글을 쓸 수 있습니다.


우선 xmlrpc.inc 파일을 다운로드 받아야 합니다.

http://sourceforge.net/projects/phpxmlrpc/files/phpxmlrpc/2.2.2/ 에서 다운로드 받아 압축을 푸시면 됩니다. 여기서는 lib폴더에 있는 xmlrpc.inc 파일 하나만 불러오면 됩니다.


변수설명

$g_blog_url : 블로그 API주소

$blogid : 블로그ID, 보통은 필요 없지만, 티스토리처럼 한 계정으로 여러 블로그를 사용하는 경우 블로그 구분을 위해서 필요합니다.

$user_id : 로그인 ID

$password : 일반적으로 로그인 비밀번호를 사용하기도 하지만, 티스토리나 네이버 등은 별로의 로그인 비밀번호를 API설정 페이지에서 제공합니다.

$title : 글 제목

$description : 글 내용

$publish : 출판 여부, true이면 바로 공개상태가 되며, false이면 비공개상태로 저장됩니다.



<?php
require './xmlrpc/lib/xmlrpc.inc';  // phpxmlrpc.sourceforge.net 에서 다운로드
        $return = newPost("http://xxx.wordpress.com/xmlrpc.php", "blogid", "userid", "userpwd", "연습글입니다.", "연습글 본문입니다.", true);
        print_r($return); // 처리 결과 출력

function newPost($g_blog_url, $blogid, $user_id, $password, $title, $description, $publish) 


$client = new xmlrpc_client($g_blog_url);

$client->setSSLVerifyPeer(false);  // 네이버 블로그 사용을 위해 필요, 보안 연결(https)
$GLOBALS['xmlrpc_internalencoding']='UTF-8';

$struct = array(
'title' => new xmlrpcval($title, "string"), 
'description' => new xmlrpcval($description, "string") 
);

$f = new xmlrpcmsg("metaWeblog.newPost", 
array( 
new xmlrpcval($blogid, "string"),
new xmlrpcval($user_id, "string"),
new xmlrpcval($password, "string"),
new xmlrpcval($struct , "struct"), 
new xmlrpcval($publish, "boolean")
));

$f->request_charset_encoding = 'UTF-8';
return $response = $client->send($f);
}
?>




반응형