이번에 글 몇개 올리면서 샘플파일들을
한 디렉토리에 넣고 계속 한두개씩 추가하고 있는데
자세히는 아니더라도 대충 해당 파일들의 정보를 한눈에 보고 싶어서 만들었습니다.
원리는 같은 위치에 디렉토리 내에 있는 모든 파일을 읽어서
해당 파일들의 첫 라인만 읽어옵니다.
첫라인에 정해진 규칙대로 정의 되어있는 것들만
정보를 가공하여 보여줍니다.
첫라인의 규칙은 전 다음과 같이 정했습니다.
<?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년 전
이건 정말 좋은 팁이네요.
^^
^^
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 230 | 20년 전 | 2084 | ||
| 229 | 20년 전 | 3146 | ||
| 228 | 20년 전 | 3338 | ||
| 227 | 20년 전 | 2415 | ||
| 226 | 20년 전 | 5494 | ||
| 225 | 20년 전 | 2533 | ||
| 224 | 20년 전 | 2975 | ||
| 223 | 20년 전 | 4212 | ||
| 222 | 20년 전 | 2612 | ||
| 221 | 20년 전 | 2301 | ||
| 220 | 20년 전 | 3687 | ||
| 219 | 20년 전 | 2083 | ||
| 218 | 20년 전 | 3579 | ||
| 217 | 20년 전 | 2490 | ||
| 216 | 20년 전 | 2926 | ||
| 215 | 20년 전 | 2236 | ||
| 214 | 20년 전 | 3347 | ||
| 213 | 20년 전 | 2926 | ||
| 212 | 20년 전 | 3064 | ||
| 211 | 20년 전 | 2153 | ||
| 210 | 20년 전 | 1911 | ||
| 209 | 20년 전 | 2367 | ||
| 208 | 20년 전 | 1994 | ||
| 207 | 20년 전 | 1686 | ||
| 206 | 20년 전 | 1862 | ||
| 205 | 20년 전 | 3958 | ||
| 204 | 20년 전 | 1683 | ||
| 203 | 20년 전 | 2021 | ||
| 202 | 20년 전 | 2362 | ||
| 201 | 20년 전 | 1837 | ||
| 200 | 20년 전 | 2968 | ||
| 199 | 20년 전 | 2012 | ||
| 198 | 20년 전 | 2094 | ||
| 197 | 20년 전 | 3666 | ||
| 196 | 20년 전 | 3002 | ||
| 195 | 20년 전 | 2110 | ||
| 194 | 20년 전 | 10261 | ||
| 193 | 20년 전 | 2259 | ||
| 192 | 20년 전 | 1614 | ||
| 191 | 20년 전 | 2678 | ||
| 190 | 20년 전 | 2299 | ||
| 189 | 20년 전 | 1698 | ||
| 188 | 20년 전 | 1498 | ||
| 187 | 20년 전 | 1920 | ||
| 186 | 20년 전 | 1743 | ||
| 185 | 20년 전 | 1790 | ||
| 184 | 20년 전 | 2373 | ||
| 183 | 20년 전 | 1579 | ||
| 182 | 20년 전 | 1492 | ||
| 181 | 20년 전 | 1634 | ||
| 180 | 20년 전 | 2732 | ||
| 179 | 20년 전 | 1817 | ||
| 178 | 20년 전 | 1865 | ||
| 177 | 20년 전 | 1996 | ||
| 176 | 20년 전 | 1810 | ||
| 175 | 20년 전 | 1878 | ||
| 174 | 20년 전 | 1704 | ||
| 173 | 20년 전 | 2067 | ||
| 172 | 20년 전 | 1792 | ||
| 171 | 20년 전 | 2572 | ||
| 170 | 20년 전 | 2287 | ||
| 169 | 20년 전 | 2565 | ||
| 168 | 20년 전 | 1500 | ||
| 167 | 20년 전 | 1590 | ||
| 166 | 20년 전 | 2168 | ||
| 165 | 20년 전 | 1649 | ||
| 164 | 20년 전 | 3782 | ||
| 163 | 20년 전 | 2683 | ||
| 162 | 20년 전 | 2103 | ||
| 161 | 20년 전 | 2813 | ||
| 160 | 20년 전 | 1747 | ||
| 159 | 20년 전 | 1624 | ||
| 158 | 20년 전 | 2575 | ||
| 157 | 20년 전 | 1504 | ||
| 156 | 20년 전 | 1755 | ||
| 155 | 20년 전 | 3240 | ||
| 154 | 20년 전 | 1914 | ||
| 153 | 20년 전 | 1636 | ||
| 152 | 20년 전 | 4970 | ||
| 151 | 20년 전 | 4589 | ||
| 150 | 20년 전 | 3527 | ||
| 149 | 20년 전 | 3812 | ||
| 148 | 20년 전 | 7095 | ||
| 147 | 20년 전 | 3564 | ||
| 146 | 20년 전 | 2641 | ||
| 145 | 20년 전 | 2632 | ||
| 144 | 20년 전 | 7175 | ||
| 143 | 20년 전 | 4618 | ||
| 142 | 20년 전 | 1909 | ||
| 141 | 20년 전 | 3256 | ||
| 140 | 20년 전 | 1974 | ||
| 139 | 20년 전 | 1594 | ||
| 138 | 20년 전 | 2318 | ||
| 137 | 20년 전 | 1792 | ||
| 136 | 20년 전 | 1464 | ||
| 135 | 20년 전 | 1802 | ||
| 134 | 20년 전 | 2974 | ||
| 133 | 20년 전 | 2459 | ||
| 132 | 20년 전 | 1713 | ||
| 131 | 20년 전 | 1664 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기