Skip to content

PHP 학습 트래백 핑 보내기 예제소스

2009.04.01 09:27

디케 조회 수:6793





트래백 핑 보내기 예제소스


<?
/////////////////////////////////////////
//                                     //
//     mics'php - Trackback Sender     //
//                                     //
//     COPYLEFT (c) by micsland.com    //
//                                     //
/////////////////////////////////////////

function send_tb($t_url,$url,$title,$blog_name,$excerpt) {
global $tb_error_str;

//주소가 유효한지 검사
$p_fp = @fopen($t_url,'r');
if($p_fp) fclose($p_fp);
else {
$tb_error_str = "트랙백 URL이 존재하지 않습니다.";
return false;
}

//내용 정리
$title = strip_tags($title);
$excerpt = strip_tags($excerpt);

$t_data = "url=".rawurlencode($url)."&title=".rawurlencode($title)."&blog_name=".rawurlencode($blog_name)."&excerpt=".rawurlencode($excerpt);

//주소 처리
$uinfo = parse_url($t_url);
if($uinfo[query]) $t_data .= "&".$uinfo[query];
if(!$uinfo[port]) $uinfo[port] = "80";

//최종 전송 자료
$send_str = "POST ".$uinfo[path]." HTTP/1.1\r\n".
"Host: ".$uinfo[host]."\r\n".
"User-Agent: MTools\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-length: ".strlen($t_data)."\r\n".
"Connection: close\r\n\r\n".
$t_data;

//전송
$fp = fsockopen($uinfo[host],$uinfo[port]);
fputs($fp,$send_str);

//응답 받음
while(!feof($fp)) $response .= fgets($fp,128);
fclose($fp);

//트랙백 URL인지 확인
if(!strstr($response,"<response>")) {
$tb_error_str = "올바른 트랙백 URL이 아닙니다.";
return false;
}

//XML 부분만 뽑음
$response = strchr($response,"<?");
$response = substr($response,0,strpos($response,"</response>"));

//에러 검사
if(strstr($response,"<error>0</error>")) return true;
else {
$tb_error_str = strchr($response,"<message>");
$tb_error_str = substr($tb_error_str,0,strpos($tb_error_str,"</message>"));
$tb_error_str = str_replace("<message>","",$tb_error_str);
$tb_error_str = "트랙백 전송중 오류가 발생했습니다: $tb_error_str";
return false;
}

}

$t_url[0]  = "http://blog.ohmynews.com/specialin/rmfdurrl/265465";
$t_url[1]  = "http://www.100mirror.com/trackback/298";
$t_url[2]  = "http://fiancee.tistory.com/trackback/449";
$t_url[3]  = "http://entertainforus.tistory.com/trackback/430";
$t_url[4]  = "http://jpnews.kr/trackback/355";
$t_url[5]  = "http://blog.hani.co.kr/catalunia/tb/19837";
$t_url[6]  = "http://jamja.tistory.com/trackback/1284";
$t_url[7]  = "http://blog.naver.com/tb/paris15/70044745039";
$t_url[8]  = "http://blog.naver.com/tb/assaredine/120065055941";


$url       = "http://urin79.com/zb/866737";
$title     = "2천억 청년재벌 장현우 돈 버는 방법 가르쳐준다";
$blog_name = "우린친구닷컴";
$excerpt   = "30세의 젊은 나이에 2,000억원에 달하는 재산을 보유한 청년재벌이 방송에 출연할 예정";



$cnt = count($t_url);

for($i=0;$i<$cnt;$i++)
{

$res = send_tb($t_url[$i],$url,$title,$blog_name,$excerpt);
if(!$res)
{
    echo("[".$i."]트랙백 전송시 에러 발생: $tb_error_str<br />");
else 
{
    echo("[".$i."]전송완료<br />");//성공시 처리
}

}

?>


Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소