안녕하세요 유창화입니다.
제가 항상 생각하고 또 생각하는 것은
'용도에 알맞는 도구를 사용하여야 한다.'
라는 부분입니다.
요새 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);
.
.
.
.
.
이하 상동
게시글 목록
| 번호 | 제목 |
|---|---|
| 8374 | |
| 28446 |
HTML
리눅스 압축관련 명령어
|
| 8373 |
JavaScript
퍼미션관련 명령어
|
| 8371 |
MySQL
MySQL 덤프방법(dump)
1
|
| 8370 |
MySQL
여러데이터베이스 사용하는 방법
|
| 8364 |
기타
PHP 기초 테크닉
5
|
| 29219 | |
| 28444 |
HTML
연산자(Operators)
1
|
| 28443 |
HTML
PHP 제어구조
|
| 8359 |
기타
주요메타테그 모음
4
|
| 8357 |
MySQL
백업&복구(전체/부분/테이블)
1
|
| 8356 | |
| 8355 | |
| 8354 |
MySQL
리눅스 기본 명령어 모음[펌]
|
| 8350 |
JavaScript
dhtml menu (pull down, top down 방식 메뉴)
3
|
| 8347 | |
| 8342 | |
| 8339 | |
| 8336 |
JavaScript
체크박스를 이미지로...
2
|
| 8335 |
기타
리눅스의 디렉토리 구성
|
| 8332 | |
| 8331 | |
| 8330 |
MySQL
MySQL root 패스워드 분실했을 경우
|
| 8323 | |
| 8314 |
JavaScript
PHP 홈페이지
8
|
| 8307 | |
| 8302 |
Linux
리눅스 배포판 선택하기
4
|
| 8297 | |
| 8293 | |
| 8281 |
JavaScript
우편번호를 이용한 소재지 셀렉트 박스
11
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기