이번에 글 몇개 올리면서 샘플파일들을
한 디렉토리에 넣고 계속 한두개씩 추가하고 있는데
자세히는 아니더라도 대충 해당 파일들의 정보를 한눈에 보고 싶어서 만들었습니다.
원리는 같은 위치에 디렉토리 내에 있는 모든 파일을 읽어서
해당 파일들의 첫 라인만 읽어옵니다.
첫라인에 정해진 규칙대로 정의 되어있는 것들만
정보를 가공하여 보여줍니다.
첫라인의 규칙은 전 다음과 같이 정했습니다.
<?php #정보1##정보2###정보3####정보4 ?>
현재는 무조건 4단계의 정보를 넣어야 합니다.
응용하시면 멋진 것도 만들 수 있을거라고 봅니다.
이하는 소스입니다.
<?php
$language = Array();//언어
$cate1 = Array();//종류
$cate2 = Array();//구분
$title = Array();//구분
$d = dir("./");
while (false !== ($entry = $d->read())) {
if (substr($entry, 0, 1) != '.' && substr($entry, -4) != 'phps' && is_file('./' . $entry)) {
$fd = fopen ('./' . $entry, "r");
$info = fgets($fd, 1024);
fclose ($fd);
preg_match("`#(.+)##(.+)###(.+)####(.+)\?`", $info, $matches);
if (!empty($matches[1]) && !empty($matches[2]) && !empty($matches[3]) && !empty($matches[4])){
$language[$entry] = $matches[1];
$cate1[$entry] = $matches[2];
$cate2[$entry] = $matches[3];
$title[$entry] = $matches[4];
}
}
}
$d->close();
$check = '';
asort($language);
foreach($language as $key => $val){
$val = trim($val);
if ($check != $val) {
$check = $val;
echo "[{$val}] <br>";
$check2 = '';
asort($cate1);
foreach($cate1 as $key2 => $val2){
if (trim($language[$key2]) != $val) continue;
$val2 = trim($val2);
if ($check2 != $val2) {
$check2 = $val2;
echo " [{$val2}] <br>";
$check3 = '';
asort($cate2);
foreach($cate2 as $key3 => $val3){
if (trim($language[$key3]) != $val || trim($cate1[$key3]) != $val2) continue;
$val3 = trim($val3);
if ($check3 != $val3) {
$check3 = $val3;
echo " [{$val3}] <br>";
$check4 = '';
asort($title);
foreach($title as $key4 => $val4){
if (trim($language[$key4]) != $val || trim($cate1[$key4]) != $val2 || trim($cate2[$key4]) != $val3) continue;
$val4 = trim($val4);
if ($check4 != $val4) {
$check4 = $val4;
echo " [{$val4}] <a href='./{$key4}' target='_blank'>[보기]</a><br><br>";
}
}
}
}
}
}
}
}
?>
<br><br><font color='red'>#### 간단한 디렉토리 정렬 시스템 <br>
같은 위치안의 파일들을 모두 첫라인만 읽어서<br>
첫라인의 <?php #정보1##정보2###정보3####정보4 ?> 문자열을 가공, 정리해서 보여줌<br>
무조건 4개의 정보를 저장하도록 되어있음 ####</font>
<br><br><a href='<?=$_SERVER['PHP_SELF']?>s' target='_blank'>소스보기</a>
<br><a href='./' target='_blank'>전체보기</a>
샘플 url : http://82da.com/Ybbs/sample/<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]</div>
한 디렉토리에 넣고 계속 한두개씩 추가하고 있는데
자세히는 아니더라도 대충 해당 파일들의 정보를 한눈에 보고 싶어서 만들었습니다.
원리는 같은 위치에 디렉토리 내에 있는 모든 파일을 읽어서
해당 파일들의 첫 라인만 읽어옵니다.
첫라인에 정해진 규칙대로 정의 되어있는 것들만
정보를 가공하여 보여줍니다.
첫라인의 규칙은 전 다음과 같이 정했습니다.
<?php #정보1##정보2###정보3####정보4 ?>
현재는 무조건 4단계의 정보를 넣어야 합니다.
응용하시면 멋진 것도 만들 수 있을거라고 봅니다.
이하는 소스입니다.
<?php
$language = Array();//언어
$cate1 = Array();//종류
$cate2 = Array();//구분
$title = Array();//구분
$d = dir("./");
while (false !== ($entry = $d->read())) {
if (substr($entry, 0, 1) != '.' && substr($entry, -4) != 'phps' && is_file('./' . $entry)) {
$fd = fopen ('./' . $entry, "r");
$info = fgets($fd, 1024);
fclose ($fd);
preg_match("`#(.+)##(.+)###(.+)####(.+)\?`", $info, $matches);
if (!empty($matches[1]) && !empty($matches[2]) && !empty($matches[3]) && !empty($matches[4])){
$language[$entry] = $matches[1];
$cate1[$entry] = $matches[2];
$cate2[$entry] = $matches[3];
$title[$entry] = $matches[4];
}
}
}
$d->close();
$check = '';
asort($language);
foreach($language as $key => $val){
$val = trim($val);
if ($check != $val) {
$check = $val;
echo "[{$val}] <br>";
$check2 = '';
asort($cate1);
foreach($cate1 as $key2 => $val2){
if (trim($language[$key2]) != $val) continue;
$val2 = trim($val2);
if ($check2 != $val2) {
$check2 = $val2;
echo " [{$val2}] <br>";
$check3 = '';
asort($cate2);
foreach($cate2 as $key3 => $val3){
if (trim($language[$key3]) != $val || trim($cate1[$key3]) != $val2) continue;
$val3 = trim($val3);
if ($check3 != $val3) {
$check3 = $val3;
echo " [{$val3}] <br>";
$check4 = '';
asort($title);
foreach($title as $key4 => $val4){
if (trim($language[$key4]) != $val || trim($cate1[$key4]) != $val2 || trim($cate2[$key4]) != $val3) continue;
$val4 = trim($val4);
if ($check4 != $val4) {
$check4 = $val4;
echo " [{$val4}] <a href='./{$key4}' target='_blank'>[보기]</a><br><br>";
}
}
}
}
}
}
}
}
?>
<br><br><font color='red'>#### 간단한 디렉토리 정렬 시스템 <br>
같은 위치안의 파일들을 모두 첫라인만 읽어서<br>
첫라인의 <?php #정보1##정보2###정보3####정보4 ?> 문자열을 가공, 정리해서 보여줌<br>
무조건 4개의 정보를 저장하도록 되어있음 ####</font>
<br><br><a href='<?=$_SERVER['PHP_SELF']?>s' target='_blank'>소스보기</a>
<br><a href='./' target='_blank'>전체보기</a>
샘플 url : http://82da.com/Ybbs/sample/<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]</div>
댓글 1개
19년 전
이건 정말 좋은 팁이네요.
^^
^^
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 2030 | 17년 전 | 2792 | ||
| 2029 | 17년 전 | 1601 | ||
| 2028 | 17년 전 | 1348 | ||
| 2027 | 17년 전 | 1609 | ||
| 2026 |
진정한승리
|
17년 전 | 2518 | |
| 2025 | 17년 전 | 1740 | ||
| 2024 | 17년 전 | 2017 | ||
| 2023 | 17년 전 | 1309 | ||
| 2022 |
SE7EN
|
17년 전 | 1044 | |
| 2021 | 17년 전 | 1126 | ||
| 2020 | 17년 전 | 2926 | ||
| 2019 | 17년 전 | 2467 | ||
| 2018 | 17년 전 | 2050 | ||
| 2017 | 17년 전 | 2050 | ||
| 2016 | 17년 전 | 1795 | ||
| 2015 | 17년 전 | 2250 | ||
| 2014 | 17년 전 | 2017 | ||
| 2013 | 17년 전 | 1985 | ||
| 2012 | 17년 전 | 1873 | ||
| 2011 | 17년 전 | 1213 | ||
| 2010 | 17년 전 | 1821 | ||
| 2009 | 17년 전 | 2228 | ||
| 2008 | 17년 전 | 2302 | ||
| 2007 | 17년 전 | 1641 | ||
| 2006 |
Arone
|
17년 전 | 1513 | |
| 2005 |
|
17년 전 | 1360 | |
| 2004 | 17년 전 | 2578 | ||
| 2003 |
suerte
|
17년 전 | 2676 | |
| 2002 |
suerte
|
17년 전 | 2082 | |
| 2001 |
suerte
|
17년 전 | 2420 | |
| 2000 |
|
17년 전 | 2726 | |
| 1999 |
|
17년 전 | 1329 | |
| 1998 |
|
17년 전 | 1191 | |
| 1997 | 17년 전 | 6329 | ||
| 1996 | 17년 전 | 1184 | ||
| 1995 | 17년 전 | 1631 | ||
| 1994 | 17년 전 | 1779 | ||
| 1993 | 17년 전 | 1105 | ||
| 1992 | 17년 전 | 1193 | ||
| 1991 | 17년 전 | 1892 | ||
| 1990 |
sdjsu
|
17년 전 | 1522 | |
| 1989 | 17년 전 | 3616 | ||
| 1988 |
smilesol
|
17년 전 | 1211 | |
| 1987 |
|
17년 전 | 1908 | |
| 1986 | 17년 전 | 1185 | ||
| 1985 | 17년 전 | 1394 | ||
| 1984 | 17년 전 | 2362 | ||
| 1983 | 17년 전 | 2025 | ||
| 1982 | 17년 전 | 1040 | ||
| 1981 | 17년 전 | 1041 | ||
| 1980 | 17년 전 | 1102 | ||
| 1979 |
오렌지76
|
17년 전 | 6046 | |
| 1978 |
오렌지76
|
17년 전 | 5846 | |
| 1977 | 17년 전 | 2039 | ||
| 1976 |
없어씨바라
|
17년 전 | 1029 | |
| 1975 | 17년 전 | 1119 | ||
| 1974 | 17년 전 | 2086 | ||
| 1973 | 17년 전 | 1518 | ||
| 1972 | 17년 전 | 1158 | ||
| 1971 |
smilesol
|
17년 전 | 1192 | |
| 1970 | 17년 전 | 1148 | ||
| 1969 |
smilesol
|
17년 전 | 1067 | |
| 1968 |
소행성블루
|
17년 전 | 3972 | |
| 1967 |
소행성블루
|
17년 전 | 2178 | |
| 1966 | 17년 전 | 1653 | ||
| 1965 |
소행성블루
|
17년 전 | 2777 | |
| 1964 |
고양Ol아빠
|
17년 전 | 1482 | |
| 1963 | 17년 전 | 1168 | ||
| 1962 | 17년 전 | 1186 | ||
| 1961 |
choijinhee
|
17년 전 | 1251 | |
| 1960 | 17년 전 | 1133 | ||
| 1959 | 17년 전 | 1253 | ||
| 1958 |
하이웹솔루션
|
17년 전 | 2407 | |
| 1957 | 17년 전 | 4194 | ||
| 1956 | 17년 전 | 1194 | ||
| 1955 | 17년 전 | 3952 | ||
| 1954 | 17년 전 | 4104 | ||
| 1953 | 17년 전 | 1236 | ||
| 1952 | 17년 전 | 2183 | ||
| 1951 | 17년 전 | 1621 | ||
| 1950 | 17년 전 | 3216 | ||
| 1949 | 17년 전 | 1361 | ||
| 1948 | 17년 전 | 3611 | ||
| 1947 | 17년 전 | 3404 | ||
| 1946 | 17년 전 | 2575 | ||
| 1945 | 17년 전 | 2938 | ||
| 1944 | 17년 전 | 2628 | ||
| 1943 | 17년 전 | 1947 | ||
| 1942 | 17년 전 | 3312 | ||
| 1941 | 17년 전 | 2625 | ||
| 1940 | 17년 전 | 3523 | ||
| 1939 |
|
17년 전 | 1159 | |
| 1938 | 17년 전 | 2247 | ||
| 1937 | 17년 전 | 1325 | ||
| 1936 |
smilesol
|
17년 전 | 1195 | |
| 1935 |
AHEEZII
|
17년 전 | 1057 | |
| 1934 |
smilesol
|
17년 전 | 1043 | |
| 1933 | 17년 전 | 1417 | ||
| 1932 | 17년 전 | 2859 | ||
| 1931 | 17년 전 | 3253 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기