안녕하세요 유창화입니다.
제가 항상 생각하고 또 생각하는 것은
'용도에 알맞는 도구를 사용하여야 한다.'
라는 부분입니다.
요새 rss 주소만 알면 글들을 쉽게 내 홈페이지에 달수 있습니다.
rss 를 읽어오는데 꼭 rss reader 처럼 포괄적인것으로 읽어올 필요는 없습니다.
rss도 버젼이 다양하고, 보여주는 쪽에서 규칙외에 부분으로 보여주는 경우도 있기 때문에
기존 rss reader 들이 덩어리가 커지고 그렇습니다.
단순히 현재의 rss의 정보를 읽어서 그것을 적당히 보여주는 것이 목적이라면
다음과 같이 하여도 됩니다.
보여주는 모양새는 한rss ( http://www.hanrss.com/ )를 참조햇습니다.
--------------------------------------------------------------------------------------------------------------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Rss 읽어오기</title>
<style>
body {margin:0px 10px 3px 10px;padding:0}
body,td,select {font-family:Verdana,Gulim;font-size:9pt;}
td {overflow:hidden;text-overflow:ellipsis;}
td.description p {margin:0;padding:3 0 3 0;}
a.lnk1:link,a.lnk1:visited,a.lnk1:hover {color:#0000ff;text-decoration:underline;}
a.lnk2:link,a.lnk2:visited {color:#808080;text-decoration:none;}
a.lnk2:hover {text-decoration:underline;}
a.lnk3:link {color:#0000ff;text-decoration:none;}
a.lnk3:visited {color:#800080;text-decoration:none;}
a.lnk3:hover {text-decoration:underline;}
a.lnk4:link,a.lnk4:visited {color:#D2691E;text-decoration:none;}
a.lnk4:hover {text-decoration:underline;}
a.lnk5:link,a.lnk5:visited {color:#0000ff;text-decoration:none;}
a.lnk5:hover {background-color:#eeeeee;}
.header1 {font-weight:bold;font-size:12pt;}
.btn_submit1 {border:1px solid gray;width:40;height:20;background-color:white;font-family:Gulim;font-size:9pt;padding:2 0 0 0}
.btn_submit2 {border:1px solid #c0c0c0;width:34;height:18;background-color:white;font-family:Gulim;font-size:8pt;line-height:12pt}
</style>
<base target=_blank>
</head>
<body bgcolor='#ffffff'>
<?php
//올블로그 명예의전당 rss 글내용이 하루에 한번만 바뀝니다.
$url = "http://www.allblog.net/Rss/BestPosts.xml";
$result = file($url);
$text = implode("\n", $result);
if(!empty($text)){
$item = explode("<item>", $text);
$count = count($item);
echo "
<table width=100% border=0 cellpadding=0 cellspacing=0 style=\"table-layout:fixed;\">
<tr><td>
<table width=100% border=0 cellpadding=0 cellspacing=0 style=\"table-layout:fixed;\">
<tr>
<td align=right valign=top style=\"padding:0 4 0 0;font-size:8pt;color:gray\" nowrap>총 <b>" . ($count - 1) . "</b>개 | 최종업데이트: " . date("Y-m-d H:i") . "</td>
</tr>
</table>
</td></tr>
<tr><td height=4></td></tr>
</table>
";
if (is_array($item) && count($item) > 1) {
for ($i = 1; $i < $count; $i++){
preg_match_all("`<title>(.+)</title><link>(.+)</link><source url=\".+\">(.+)</source><category>([^<]+)</category>(<category>([^<]+)</category>)?(<category />)?<pubDate>(.+)</pubDate><description><!\[CDATA\[(.+)\]\]></description>`s", $item[$i], $matches);
if (is_array($matches[1]) && count($matches[1]) > 0) {
foreach($matches[1] as $key => $val){
$title = (!empty($val)) ? $val : '';
$link = (!empty($matches[2][$key])) ? $matches[2][$key] : '';
$source = (!empty($matches[3][$key])) ? $matches[3][$key] : '';
$category1 = (!empty($matches[4][$key])) ? $matches[4][$key] : '';
$category2 = (!empty($matches[6][$key])) ? $matches[6][$key] : '';
$category = (!empty($category1) && !empty($category2)) ? $category1 . ", " . $category2 : $category1 . $category2;
$pubDate = (!empty($matches[8][$key])) ? date("Y-m-d H:i", strtotime($matches[8][$key])) : '';
$description = (!empty($matches[9][$key])) ? $matches[9][$key] : '';
$description_len = number_format(strlen($description));
if (!preg_match("`(<\s*\t*img\s*\t*|<\s*\t*a\s*\t*href)`i", $description)) $description = strip_tags(str_replace(array("<", ">", "<br /><hr />위 내용은 올블로그가 올블로그에 등록한 블로그로부터 수집하여 서버에 저장하고 있는 내용의 전체 또는 일부 입니다. 이 게시물에 대한 모든 저작권과 책임은 해당 블로그의 등록자에게 있습니다."), array("<", ">", ""), $description)) . "<br /><hr />위 내용은 올블로그가 올블로그에 등록한 블로그로부터 수집하여 서버에 저장하고 있는 내용의 전체 또는 일부 입니다. 이 게시물에 대한 모든 저작권과 책임은 해당 블로그의 등록자에게 있습니다.";
echo "
<a href=\"" . $link . "\"></a>
<table width=100% border=0 cellpadding=0 cellspacing=0>
<tr><td bgcolor=#bdb76b><img width=1 height=1 alt=\"\"></td></tr>
<tr><td bgcolor=#ebebd5 style='padding:5 2 6 2'>
<table width=100% border=0 cellpadding=0 cellspacing=0>
<tr><td style=\"font-size:10pt\"><a href=\"" . $link . "\"><span style=\"font-weight:bold\">" . $title . "</span></a></td></tr>
</table>
</td></tr>
<tr><td style='padding:4 2 0 2'>
<table width=100% border=0 cellpadding=0 cellspacing=0>
<tr><td style='font-size:8pt;'> <font color=#808080>" . $pubDate . " 작성 <font color=#808080>| " . $category . "</font> <font color=#808080>| " . $description_len . "byte</font></font></td><td align=right style=\"font-family:Gulim;font-size:8pt;\" nowrap> </td></tr>
</table>
</td></tr>
</table>
<table id=\"desc_9612007\" width=100% border=0 cellpadding=0 cellspacing=0>
<tr><td style='padding:6 2 0 2;line-height:14pt;' class=description>" . $description . "</td></tr>
<tr><td height=10></td></tr>
</table>
<table width=100% border=0 cellpadding=0 cellspacing=0><tr><td height=12></td></tr></table>
";
}
}
}
}
}
?>
</body>
</html>
--------------------------------------------------------------------------------------------------------------------------------------
여기에 캐쉬기능만 달면 올블로그 전용으로는 가벼운 리더기가 될수 있습니다.
참고 url http://search.dyd.cc/simplereader.php<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]</div>
제가 항상 생각하고 또 생각하는 것은
'용도에 알맞는 도구를 사용하여야 한다.'
라는 부분입니다.
요새 rss 주소만 알면 글들을 쉽게 내 홈페이지에 달수 있습니다.
rss 를 읽어오는데 꼭 rss reader 처럼 포괄적인것으로 읽어올 필요는 없습니다.
rss도 버젼이 다양하고, 보여주는 쪽에서 규칙외에 부분으로 보여주는 경우도 있기 때문에
기존 rss reader 들이 덩어리가 커지고 그렇습니다.
단순히 현재의 rss의 정보를 읽어서 그것을 적당히 보여주는 것이 목적이라면
다음과 같이 하여도 됩니다.
보여주는 모양새는 한rss ( http://www.hanrss.com/ )를 참조햇습니다.
--------------------------------------------------------------------------------------------------------------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Rss 읽어오기</title>
<style>
body {margin:0px 10px 3px 10px;padding:0}
body,td,select {font-family:Verdana,Gulim;font-size:9pt;}
td {overflow:hidden;text-overflow:ellipsis;}
td.description p {margin:0;padding:3 0 3 0;}
a.lnk1:link,a.lnk1:visited,a.lnk1:hover {color:#0000ff;text-decoration:underline;}
a.lnk2:link,a.lnk2:visited {color:#808080;text-decoration:none;}
a.lnk2:hover {text-decoration:underline;}
a.lnk3:link {color:#0000ff;text-decoration:none;}
a.lnk3:visited {color:#800080;text-decoration:none;}
a.lnk3:hover {text-decoration:underline;}
a.lnk4:link,a.lnk4:visited {color:#D2691E;text-decoration:none;}
a.lnk4:hover {text-decoration:underline;}
a.lnk5:link,a.lnk5:visited {color:#0000ff;text-decoration:none;}
a.lnk5:hover {background-color:#eeeeee;}
.header1 {font-weight:bold;font-size:12pt;}
.btn_submit1 {border:1px solid gray;width:40;height:20;background-color:white;font-family:Gulim;font-size:9pt;padding:2 0 0 0}
.btn_submit2 {border:1px solid #c0c0c0;width:34;height:18;background-color:white;font-family:Gulim;font-size:8pt;line-height:12pt}
</style>
<base target=_blank>
</head>
<body bgcolor='#ffffff'>
<?php
//올블로그 명예의전당 rss 글내용이 하루에 한번만 바뀝니다.
$url = "http://www.allblog.net/Rss/BestPosts.xml";
$result = file($url);
$text = implode("\n", $result);
if(!empty($text)){
$item = explode("<item>", $text);
$count = count($item);
echo "
<table width=100% border=0 cellpadding=0 cellspacing=0 style=\"table-layout:fixed;\">
<tr><td>
<table width=100% border=0 cellpadding=0 cellspacing=0 style=\"table-layout:fixed;\">
<tr>
<td align=right valign=top style=\"padding:0 4 0 0;font-size:8pt;color:gray\" nowrap>총 <b>" . ($count - 1) . "</b>개 | 최종업데이트: " . date("Y-m-d H:i") . "</td>
</tr>
</table>
</td></tr>
<tr><td height=4></td></tr>
</table>
";
if (is_array($item) && count($item) > 1) {
for ($i = 1; $i < $count; $i++){
preg_match_all("`<title>(.+)</title><link>(.+)</link><source url=\".+\">(.+)</source><category>([^<]+)</category>(<category>([^<]+)</category>)?(<category />)?<pubDate>(.+)</pubDate><description><!\[CDATA\[(.+)\]\]></description>`s", $item[$i], $matches);
if (is_array($matches[1]) && count($matches[1]) > 0) {
foreach($matches[1] as $key => $val){
$title = (!empty($val)) ? $val : '';
$link = (!empty($matches[2][$key])) ? $matches[2][$key] : '';
$source = (!empty($matches[3][$key])) ? $matches[3][$key] : '';
$category1 = (!empty($matches[4][$key])) ? $matches[4][$key] : '';
$category2 = (!empty($matches[6][$key])) ? $matches[6][$key] : '';
$category = (!empty($category1) && !empty($category2)) ? $category1 . ", " . $category2 : $category1 . $category2;
$pubDate = (!empty($matches[8][$key])) ? date("Y-m-d H:i", strtotime($matches[8][$key])) : '';
$description = (!empty($matches[9][$key])) ? $matches[9][$key] : '';
$description_len = number_format(strlen($description));
if (!preg_match("`(<\s*\t*img\s*\t*|<\s*\t*a\s*\t*href)`i", $description)) $description = strip_tags(str_replace(array("<", ">", "<br /><hr />위 내용은 올블로그가 올블로그에 등록한 블로그로부터 수집하여 서버에 저장하고 있는 내용의 전체 또는 일부 입니다. 이 게시물에 대한 모든 저작권과 책임은 해당 블로그의 등록자에게 있습니다."), array("<", ">", ""), $description)) . "<br /><hr />위 내용은 올블로그가 올블로그에 등록한 블로그로부터 수집하여 서버에 저장하고 있는 내용의 전체 또는 일부 입니다. 이 게시물에 대한 모든 저작권과 책임은 해당 블로그의 등록자에게 있습니다.";
echo "
<a href=\"" . $link . "\"></a>
<table width=100% border=0 cellpadding=0 cellspacing=0>
<tr><td bgcolor=#bdb76b><img width=1 height=1 alt=\"\"></td></tr>
<tr><td bgcolor=#ebebd5 style='padding:5 2 6 2'>
<table width=100% border=0 cellpadding=0 cellspacing=0>
<tr><td style=\"font-size:10pt\"><a href=\"" . $link . "\"><span style=\"font-weight:bold\">" . $title . "</span></a></td></tr>
</table>
</td></tr>
<tr><td style='padding:4 2 0 2'>
<table width=100% border=0 cellpadding=0 cellspacing=0>
<tr><td style='font-size:8pt;'> <font color=#808080>" . $pubDate . " 작성 <font color=#808080>| " . $category . "</font> <font color=#808080>| " . $description_len . "byte</font></font></td><td align=right style=\"font-family:Gulim;font-size:8pt;\" nowrap> </td></tr>
</table>
</td></tr>
</table>
<table id=\"desc_9612007\" width=100% border=0 cellpadding=0 cellspacing=0>
<tr><td style='padding:6 2 0 2;line-height:14pt;' class=description>" . $description . "</td></tr>
<tr><td height=10></td></tr>
</table>
<table width=100% border=0 cellpadding=0 cellspacing=0><tr><td height=12></td></tr></table>
";
}
}
}
}
}
?>
</body>
</html>
--------------------------------------------------------------------------------------------------------------------------------------
여기에 캐쉬기능만 달면 올블로그 전용으로는 가벼운 리더기가 될수 있습니다.
참고 url http://search.dyd.cc/simplereader.php<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]</div>
댓글 17개
감사합니다.
늦게라도 보신다면 조언 부탁드립니다.
캐쉬 추가기능 코드로 테스트 해보았습니다.
권고 하신대로 UTF-8로 저장하고 불렀더니 아래 에러가 뜹니다.
참고 링크는 현재 잘 들어오던데, 제 서버에서 file() 함수를 막아놓은 경우인가요??
Warning: file(): URL file-access is disabled in the server configuration in /web1/gnusr/www.gnusr.com/Ysample/Yallblog_rss.php on line 56
Warning: file(http://www.allblog.net/Rss/BestPosts.xml): failed to open stream: no suitable wrapper could be found in /web1/gnusr/www.gnusr.com/Ysample/Yallblog_rss.php on line 56
Warning: implode(): Bad arguments. in /web1/gnusr/www.gnusr.com/Ysample/Yallblog_rss.php on line 57
늦게라도 보신다면 조언 부탁드립니다.
캐쉬 추가기능 코드로 테스트 해보았습니다.
권고 하신대로 UTF-8로 저장하고 불렀더니 아래 에러가 뜹니다.
참고 링크는 현재 잘 들어오던데, 제 서버에서 file() 함수를 막아놓은 경우인가요??
Warning: file(): URL file-access is disabled in the server configuration in /web1/gnusr/www.gnusr.com/Ysample/Yallblog_rss.php on line 56
Warning: file(http://www.allblog.net/Rss/BestPosts.xml): failed to open stream: no suitable wrapper could be found in /web1/gnusr/www.gnusr.com/Ysample/Yallblog_rss.php on line 56
Warning: implode(): Bad arguments. in /web1/gnusr/www.gnusr.com/Ysample/Yallblog_rss.php on line 57
또 다른 유창화님의 팁을 통해 위 코멘트에 붙였던 서버 설정을 피해가는 방법을 찾았습니다.^^
다시한번 유창화님께 감사의 말씀을 드립니다.
원본 - 이렇게 되면 좋은데 제 계정에서는 file()함수가 막혀있더군요.
//올블로그 명예의전당 rss 글내용이 하루에 한번만 바뀝니다.
// $url = "http://www.allblog.net/Rss/BestPosts.xml";
// $result = file($url);
// $text = implode("\n", $result);
아래는 유창화님의 리퍼러 변경관련 코멘트에서 file()함수 대체 팁을 적용해서 성공(?)한 경우입니다.
http://gnusr.com/Ysample/Yallblog_rss_utf.php
//////////////////////////////////////////////////////////////////////////
// 리퍼러,캐시콘,file()함수등 제한된 부분을 돌고돌아 겨우 가져옴
// http://www.sir.co.kr/bbs/tb.php/pl_php/182 유창화님
$url = "http://www.allblog.net/Rss/BestPosts.xml";//읽어올 url
$referer = "http://test.com/";//속일 리퍼러
$array = parse_url($url);
$url_scheme = $array['scheme'];
$url_server = $array['host'];
$url_path = $array['path'];
$url_query= $array['query'];
$url_port = (empty($array['port'])) ? 80 : $array['port'];
$fp = fsockopen($url_server, $url_port);
if (empty($fp)) {
echo "error-http소켓접속에 실패하였습니다.";
exit;
}
fputs($fp, "GET " . $url_path . "?" . $url_query . " HTTP/1.0\n");
fputs($fp, "Accept: */*\n");
fputs($fp, "Content-Type: application/x-www-form-urlencoded\n");
fputs($fp, "Host: $url_server:$url_port\n");
fputs($fp, "Referer: $referer\n");
fputs($fp, "Cache-control: private\n");
fputs($fp, "Pragma: no-cache\n");
fputs($fp, "Connection: close\n\n");
$xmls = '';
while (!feof($fp)){
$xmls .= fgets($fp, 1024);
}
fclose($fp);
//$xmls = trim(substr($xmls,strpos($xmls, "\r\n\r\n")));//헤더 삭제
//echo $xmls;//제어이전 내용 확인
//////////////////////////////////////////////////////////////
// 이 서버에서는 바로 읽어서 처리는 않됨
// 캐쉬 디렉토리에 tmp.php파일 생성, 읽어온 내용 임시저장
$tmp_file = $cashe_dir . '/' . 'tmp.php';
$fp = @fopen($tmp_file, 'w');
if (empty($fp)) {
echo "임시저장 디렉토리의 퍼미션을 확인하세요";
exit;
}
@fwrite($fp, $xmls);
@fclose($fp);
@chmod($tmp_file, 0777);
$text = implode("\n", file($tmp_file));
// 임시저장 파일을 읽어들여 캐쉬에 저장
//echo $text;//저장 내용 확인
//////////////////////////////////////////////////// 끝
다시한번 유창화님께 감사의 말씀을 드립니다.
원본 - 이렇게 되면 좋은데 제 계정에서는 file()함수가 막혀있더군요.
//올블로그 명예의전당 rss 글내용이 하루에 한번만 바뀝니다.
// $url = "http://www.allblog.net/Rss/BestPosts.xml";
// $result = file($url);
// $text = implode("\n", $result);
아래는 유창화님의 리퍼러 변경관련 코멘트에서 file()함수 대체 팁을 적용해서 성공(?)한 경우입니다.
http://gnusr.com/Ysample/Yallblog_rss_utf.php
//////////////////////////////////////////////////////////////////////////
// 리퍼러,캐시콘,file()함수등 제한된 부분을 돌고돌아 겨우 가져옴
// http://www.sir.co.kr/bbs/tb.php/pl_php/182 유창화님
$url = "http://www.allblog.net/Rss/BestPosts.xml";//읽어올 url
$referer = "http://test.com/";//속일 리퍼러
$array = parse_url($url);
$url_scheme = $array['scheme'];
$url_server = $array['host'];
$url_path = $array['path'];
$url_query= $array['query'];
$url_port = (empty($array['port'])) ? 80 : $array['port'];
$fp = fsockopen($url_server, $url_port);
if (empty($fp)) {
echo "error-http소켓접속에 실패하였습니다.";
exit;
}
fputs($fp, "GET " . $url_path . "?" . $url_query . " HTTP/1.0\n");
fputs($fp, "Accept: */*\n");
fputs($fp, "Content-Type: application/x-www-form-urlencoded\n");
fputs($fp, "Host: $url_server:$url_port\n");
fputs($fp, "Referer: $referer\n");
fputs($fp, "Cache-control: private\n");
fputs($fp, "Pragma: no-cache\n");
fputs($fp, "Connection: close\n\n");
$xmls = '';
while (!feof($fp)){
$xmls .= fgets($fp, 1024);
}
fclose($fp);
//$xmls = trim(substr($xmls,strpos($xmls, "\r\n\r\n")));//헤더 삭제
//echo $xmls;//제어이전 내용 확인
//////////////////////////////////////////////////////////////
// 이 서버에서는 바로 읽어서 처리는 않됨
// 캐쉬 디렉토리에 tmp.php파일 생성, 읽어온 내용 임시저장
$tmp_file = $cashe_dir . '/' . 'tmp.php';
$fp = @fopen($tmp_file, 'w');
if (empty($fp)) {
echo "임시저장 디렉토리의 퍼미션을 확인하세요";
exit;
}
@fwrite($fp, $xmls);
@fclose($fp);
@chmod($tmp_file, 0777);
$text = implode("\n", file($tmp_file));
// 임시저장 파일을 읽어들여 캐쉬에 저장
//echo $text;//저장 내용 확인
//////////////////////////////////////////////////// 끝
file이 외부파일을 읽어오는 데 사용할수 없을경우
fsockopen을 사용하시면 되구요.
읽어온 파일을 저장할 필욘 없고 바로 사용하면 될듯한데요.
$url = "http://www.allblog.net/Rss/BestPosts.xml";//읽어올 url
$referer = "http://www.allblog.net/";//속일 리퍼러
$array = parse_url($url);
$url_scheme = $array['scheme'];
$url_server = $array['host'];
$url_path = $array['path'];
$url_query= $array['query'];
$url_port = (empty($array['port'])) ? 80 : $array['port'];
$fp = fsockopen($url_server, $url_port);
if (empty($fp)) {
echo "error-http소켓접속에 실패하였습니다.";
exit;
}
fputs($fp, "GET " . $url_path . "?" . $url_query . " HTTP/1.0\n");
fputs($fp, "Accept: */*\n");
fputs($fp, "Content-Type: application/x-www-form-urlencoded\n");
fputs($fp, "Host: $url_server:$url_port\n");
fputs($fp, "Referer: $referer\n");
fputs($fp, "Cache-control: private\n");
fputs($fp, "Pragma: no-cache\n");
fputs($fp, "Connection: close\n\n");
$text = '';
while (!feof($fp)){
$text .= fgets($fp, 1024);
}
fclose($fp);
if(!empty($text)){
$item = explode("<item>", $text);
$count = count($item);
.
.
.
.
.
이하 상동
fsockopen을 사용하시면 되구요.
읽어온 파일을 저장할 필욘 없고 바로 사용하면 될듯한데요.
$url = "http://www.allblog.net/Rss/BestPosts.xml";//읽어올 url
$referer = "http://www.allblog.net/";//속일 리퍼러
$array = parse_url($url);
$url_scheme = $array['scheme'];
$url_server = $array['host'];
$url_path = $array['path'];
$url_query= $array['query'];
$url_port = (empty($array['port'])) ? 80 : $array['port'];
$fp = fsockopen($url_server, $url_port);
if (empty($fp)) {
echo "error-http소켓접속에 실패하였습니다.";
exit;
}
fputs($fp, "GET " . $url_path . "?" . $url_query . " HTTP/1.0\n");
fputs($fp, "Accept: */*\n");
fputs($fp, "Content-Type: application/x-www-form-urlencoded\n");
fputs($fp, "Host: $url_server:$url_port\n");
fputs($fp, "Referer: $referer\n");
fputs($fp, "Cache-control: private\n");
fputs($fp, "Pragma: no-cache\n");
fputs($fp, "Connection: close\n\n");
$text = '';
while (!feof($fp)){
$text .= fgets($fp, 1024);
}
fclose($fp);
if(!empty($text)){
$item = explode("<item>", $text);
$count = count($item);
.
.
.
.
.
이하 상동
게시글 목록
| 번호 | 제목 |
|---|---|
| 8947 | |
| 8946 | |
| 8945 | |
| 8939 |
JavaScript
테이블 셀에 링크하는법 & 마우스 오버
5
|
| 8930 |
JavaScript
a href 링크로 라디오박스 선택
8
|
| 8924 | |
| 8922 | |
| 8914 |
Flash
Flv 플래쉬 플래이어
7
|
| 8909 | |
| 8907 |
JavaScript
home, end키
1
|
| 28496 |
HTML
특수문자 모음
5
|
| 8906 |
JavaScript
콘솔 화면 보호기 끄기
|
| 8905 |
기타
히스토리 지우는것 막기
|
| 8903 |
JavaScript
VSFTP에서는 PUBLIC_HTML에....
1
|
| 28495 |
HTML
mqueue 설정(센드메일속도 UP)
|
| 8901 | |
| 8894 | |
| 8893 | |
| 8888 | |
| 8885 | |
| 8883 |
MySQL
[펌]mysql매뉴얼
1
|
| 8881 |
JavaScript
미리보기 소스
1
|
| 8872 |
Flash
물결치는 모습
8
|
| 8868 | |
| 8856 | |
| 8853 | |
| 8852 | |
| 8849 |
JavaScript
403 Forbidden error 생길때
2
|
| 8847 | |
| 8842 | |
| 8838 | |
| 8833 | |
| 8829 | |
| 8824 |
기타
타입 툴사용시 팁
4
|
| 8821 |
JavaScript
쓸모있는 'border-collapse' 속성
2
|
| 8819 |
Linux
페도라 리눅스 시디1장으로 설치하기
1
|
| 8818 | |
| 28492 | |
| 8817 | |
| 8814 | |
| 28490 | |
| 8811 | |
| 8810 |
JavaScript
움직임이 자연스러운 자바시계
|
| 8809 | |
| 8805 |
JavaScript
마우스 cursor
3
|
| 8804 |
기타
그림자가 있는 글자
|
| 8801 |
기타
6개국 시간
2
|
| 8797 |
기타
css_table
1
|
| 8799 | |
| 8795 | |
| 8789 |
JavaScript
일러스트에서 한글 자판이 안먹힐때.
5
|
| 8784 | |
| 8782 | |
| 8772 | |
| 8771 | |
| 28488 |
HTML
패스선택툴
1
|
| 8768 | |
| 28486 |
HTML
작업내역 브러쉬
1
|
| 8765 |
기타
올가미 툴
2
|
| 8761 |
기타
분할도구
3
|
| 8756 |
기타
마술봉&잘라내기
4
|
| 8751 |
기타
도장툴
4
|
| 28480 |
HTML
닷지툴
5
|
| 8746 |
JavaScript
이동툴
4
|
| 8739 |
기타
선택툴
6
|
| 8735 | |
| 28476 |
HTML
일러스트 메뉴얼.
3
|
| 8726 |
JavaScript
php 기초 함수 예문 모음
8
|
| 8725 | |
| 8718 |
Flash
간단한 플래시 매뉴
6
|
| 8710 |
기타
포토샵 기본팁
7
|
| 8703 |
JavaScript
모질라/파이어폭스에서 둥근 모서리 처리
6
|
| 8700 |
JavaScript
이미지 도구모음 표시안하기(IE용)
2
|
| 8697 | |
| 8694 | |
| 8693 | |
| 8692 | |
| 8691 | |
| 8689 | |
| 8686 |
JavaScript
포토샵 액션 AutoGaussian-피부질감 수정
2
|
| 8680 |
Flash
토수니
5
|
| 8678 | |
| 8671 | |
| 8670 |
JavaScript
아파치 웹서버 프로세스 갯수 늘리기
|
| 8667 | |
| 28465 |
HTML
첫 게시물..^^ 포토샵 단축키
10
|
| 8665 |
JavaScript
css를 이용한 기본적인 레이아웃..
1
|
| 8664 | |
| 8663 | |
| 8662 |
JavaScript
불여우에서도 되는 서브메뉴가 있는 메뉴 #2
|
| 8661 | |
| 8660 | |
| 8659 | |
| 8657 |
MySQL
데이터베이스 를 사용자 계정에 설치하기
1
|
| 8656 |
MySQL
gd+jpg+png+tiff rpm 설치..
|
| 8641 | |
| 8628 |
MySQL
php 오류정리
12
|
| 8627 | |
| 8626 |
기타
사용자 계정 삭제
|
| 8625 |
JavaScript
chmod 허가권변경
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기