지난 포스팅에서 진행한 제어문 (반복문, 조건문)을 사용해서
파일 상으로 존재하는 파일을 읽어서 oi 과 li 태그를 통해
묶어서 index.php 를 자동으로 구성하는 코드를 만들어 보도록 하겠습니다.
< scanfdir() >
우선 위에서 소개한 프로그램을 만들기 위해서는
우리가 알고있는 지식 이외에도 디렉토리에 존재하는 file을 읽어올 수 있는
함수를 알야합니다. 그곳에 쓰일 수 있는 함수가
scandir() 입니다.
<scandir() 사용법>
scandir(디렉토리 경로);
scandir(); 의 실행 결과(출력값)은 배열의 형태이다.
따라서 디렉토리 경로에 넣은 값의 디렉토리의 파일들이
배열 행식으로 전달받음을 알 수 있다.
cf>
. : 현재 디렉토리
.. : 부모 디렉토리
<?php
$list = scnadir('.data');
var_dump($list);
?>
. .. html css javascirpy mysql php
< 반복문 활용 >
만약 반복문을 사용하지 않는다면 위에서 scandir로 만든 list라는 배열에
담긴 값을 index 값을 조절해서 직접 가져와야 한다.
echo "<li>$list[0]</li>;
echo "<li>$list[1]</li>;
echo "<li>$list[2]</li>;
echo "<li>$list[3]</li>;
헌데 index 값이 0과 1인 곳은 . 과 ..는 필요가 없다.
따라서
echo "<li>$list[2]</li>;
echo "<li>$list[3]</li>;
가 필요하다.
이를 살펴보면 index 값을 제외한 부분은 반복되는 것을 알 수 있다.
따라서 이는 반복문으로 대체할 수 있음을 알 수 있다.
$i = 2;
while( $i < count($list) ){
echo "<li>$list[$i]</li>";
$i = $i + 1;
}
upgrade! 각 a태그 달기!
echo "<li> <a href = \"index.php?id=$list[$i]\"> $list[$i] </a> </li>";
< 조건문 활용 >
이제는 $list[0], $list[1] 값이 . , .. 임을 직접 탐지하는 기능을 조건문을 사용하여
구현해보도록 하겠습니다.
if( $list[$i] != '.'){
if($list[$i]) != '..'){
}
}
을 반복문 안에 입력하시면 index[i]의 값이
. 과 .. 이 아닐경우에만 조건문에 의해서 걸려주기 때문에
선택적으로 출력이 가능합니다.
다음 포스팅에서는 좀 더 실용적으로
정보를 주고 받는 방법에 대해서 포스팅하도록 하겠습니다.
'개발 > php' 카테고리의 다른 글
[PHP + MySQL] PHP 글 생성 (0) | 2021.02.05 |
---|---|
[PHP] PHP 반복문과 배열 (2) | 2021.02.04 |
[PHP] PHP 함수 (0) | 2021.02.04 |
[PHP] PHP 조건문 + 데이터 타입 (2) | 2021.02.03 |
[PHP] PHP의 함수와 함수의 사용 (0) | 2021.02.03 |
댓글