반복문과 배열의 활용

 

scandir() 함수 : 지정된 경로 내의 파일과 디렉토리를 나열. (배열 형태로 만듦.)

 

 

 

목표 :

data 디렉토리에 있는 파일의 목록을 가져와서,
해당 파일을 목록 하나 하나로 li와 a태그를 이용하여
글목록을 만들어보자.

 

 

[data 디렉토리]

 

 

 

 

 

먼저, 디렉토리 안의 파일 리스트를 가져오는 php 함수를 찾아보자.

 

 

 

 

scandir( ) 함수가 그러한 기능을 한다는 것을 알아내었다.

 

 

 

 

 

변수로 대상 디렉토리의 파일 목록을 받아올 수 있다.

 

아래 예제를 보면,

 

먼저, dir 변수에 해당 디렉토리의 경로를 넣어준다.

그다음 이 dir 변수(디렉토리 경로) 값을 scandir( ) 함수에 넣어줌으로써 결과로 받아오는 파일 목록값을

files1 변수에 넣어주면, 결국 이 files1 변수로 디렉토리의 파일 목록을 가져올 수 있게된다.

 

 

 

 

 

디렉토리의 파일 목록을 받아오는 또 다른 방법으로는, 

 

 

$files1 = scandir('./tmp');

이런식으로 scandir( ) 함수에 디렉토리 경로를 바로 받아와서 사용할 수도 있다.

 

 

 

 

 

 

 

이어서, scandir( ) 함수를 좀 더 살펴보면 받아오는 디렉터리의 파일을 배열 형태로 가져오는 것을 알수있다.

 

 

 

 

 

 

이제, 목표대로 코드를 작성해보자.

 

목표 : data 디렉토리에 있는 파일의 목록을 가져와서, 
해당 파일을 목록 하나 하나로 li와 a태그를 이용하여 
글목록을 만들어보자.

 

 

 

<php 소스코드>

 

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
  <title></title>
  </head>
  <body>


    <h1><a href="index4.php">WEB</a></h1>

    <ol>


      <?php
        $list = scandir('./data');           /* scandir() 함수 : 지정된 경로 내의 파일과 디렉토리를 나열. 배열 형태로 만듦.
                                              현재위치의 data 디렉토리에 파일과 디렉토리를 배열 형태로 나열. list라는 이름의 배열로 */

        echo "list배열 원소 개수 : ", (count($list));                 // list 배열의 원소 개수 출력. count() 함수 : 배열의 원소의 갯수를 출력.
        echo '<br>';
        echo "list배열 원소들 출력 : ";
        print_r ($list);                      // list 배열 원소들 출력.

        echo '<br>';
        echo '<br>';

        $i = 0;                                // 배열 원소는 [0]부터 시작.

        while($i < count($list)){              // 반복문. list 배열의 원소 개수만큼 반복하겠다.
          if($list[$i] != '.'){                /* scandir() 함수를 사용하여 파일과 디렉토리를 가져오면
                                                첫번째, 두번째 항목을 . 과 .. 으로 가져올 때가 있다.
                                                이 항목들을 제외하여 출력할 것이다. */
            if($list[$i] != '..'){
                echo "<li><a href=\"index4.php?id=$list[$i]\">$list[$i]</a></li>\n";
              }                                /* 하이퍼링크로 id 파라미터값을 원소들 값으로 받아오겠다.
                                                 또한, 이를 가지고 list 배열의 원소들 값 목록 생성. */
            }
          $i = $i + 1;
        }
       ?>


    </ol>


    <h2>
      <?php
      if(isset($_GET['id'])){                       /* isset() 함수 : 해당 변수가 선언되었는지 확인하고 그렇다면 True, 아니면 False를 출력. 즉 if ()안에 true, false 값을 주게된다.
                                                    즉, isset() 함수 괄호안에 변수로 GET방식으로 id 파라미터값을 받아오려하는데 이 id 파라미터값이 존재하는지 확인하는 조건문이다. */

        echo $_GET['id'];                           // id 파라미터값이 존재한다면 해당 id 파라미터값 출력.
      }
      else {                                        // 존재하지 않는다면 else {}안 입력값 실행.(else { }안에 입력한 값 출력.)
        echo "Welcome!";
      }
      ?>
    </h2>


      <?php
      if(isset($_GET['id'])){                       /* isset() 함수 : 해당 변수가 선언되었는지 확인하고 그렇다면 True, 아니면 False를 출력. 즉 if ()안에 true, false 값을 주게된다.
                                                    즉, isset() 함수 괄호안에 변수로 GET방식으로 id 파라미터값을 받아오려하는데 이 id 파라미터값이 존재하는지 확인하는 조건문이다. */

        echo file_get_contents("data/".$_GET['id']);      /* file_get_contents() 함수는 해당 경로에 있는 파일의 내용을 가져오는 함수이다.
                                                      여기서는, data 폴더안의 (GET함수로 받아온 id 파라미터값에 해당하는 이름의 파일)파일의 내용을 가져오게된다.
                                                      id 파라미터값은 하이퍼링크를 클릭하여 받아온 값이 된다(위에 코드 참고). CSS,HTML,JavaScript 셋 중 하나.
                                                      "data/"와 $_GET['id']을 .을 통해 연결해 data/CSS 또는 data/HTML 또는 data/JavaScript 경로의 모습으로 완성되게된다.
                                                      CSS, HTML, JavaScript 파일에는 각각 다른 내용을 입력해 저장해두었다.
                                                          */
        }
      else {                                        // 존재하지 않는다면 else {}안 입력값 실행.(else { }안에 입력한 값 출력.)
        echo "Hello~";
      }
      ?>
  </body>
</html>

 

 

 

 

 

 

 

 

<웹페이지 출력>

 

 

1. id 파라미터값을 입력하지 않았을때

 

 

 

 

 

2. HTML 하이퍼링크를 클릭하였을때

 

 

 

 

 

 

3. CSS 하이퍼링크를 클릭하였을때

 

 

 

 

 

4. JavaScript 하이퍼링크를 클릭하였을때

 

 

 

 

 

 

5. MySQL 하이퍼링크를 클릭하였을때

 

 

 

 

 

6. PHP 하이퍼링크를 클릭하였을때

 

 

 

 

 

  • data 디렉토리에 GitHub 파일을 새로 생성하였을때

 

 

 

아래와 같이 목록에서도 추가가 되는 것을 볼 수 있다.

 

 

'Web Programming Language > PHP' 카테고리의 다른 글

empty() 함수  (0) 2020.10.26
PHP) php header utf-8, euc-kr 인코딩 변환  (0) 2020.10.26
배열  (0) 2020.10.23
반복문 while  (0) 2020.10.23
조건문 활용, isset() 함수  (0) 2020.10.22

배열

 

 

array() : 배열을 표현할때 사용한다. 배열 표현식.

 

count() 함수 : 배열의 원소 총 개수를 출력.

 

array_push() 함수 : 배열에 원소 추가.(끝에 추가함.)

 

print_r() 함수 : 사람이 읽을 수 있는 변수 정보를 출력. 배열을 출력할 경우, 배열의 원소들 값과 구조를 출력함.

 

var_dump() 함수 : 데이터타입과 결과값 출력. 배열을 출력할 경우, 배열의 원소들 값과 구조를 데이터타입과 함께 출력함.

 

echo '<br>';     :    html의 <br> 태그를 사용할땐 echo와 ' '를 사용해야 되나봄. 

 

 

 

 

<php 소스코드>

 

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Array</title>
  </head>
  <body>
    <h1>Array</h1>
    <?php
    $friends = array('david', 'garcia', 'sergio', 'poden');     // 배열 표현식. array()는 배열을 표현할때 사용한다.

    echo $friends[1];           /* 배열의 원소값 출력. garcia가 출력된다. friends라는 이름의 배열의 2번째에 있는 원소값 출력.                      순서는 0부터 시작한다. */
    echo '<br>';                // html의 <br> 태그를 사용할땐 echo와 ' '를 사용해야 되나봄.
    echo $friends[3];           // friends라는 이름의 배열의 4번째에 있는 원소값 출력.
    echo '<br>';

    echo count($friends);       // count() 함수 : 배열의 원소 총 개수를 출력.

    echo '<br>';

    var_dump(count($friends));  // var_dump() 함수 : 데이터타입과 결과값 출력.

    array_push($friends, 'yankee');   // array_push() 함수 : 배열에 원소 추가.(끝에 추가함.)
    echo '<br>';
    echo '<br>';

    echo "PHP에서 배열 구조와 값을 표시하는 방법 : print_r, var_dump";
    echo '<br>';

    print_r($friends);         /* print_r() 함수 : 사람이 읽을 수 있는 변수 정보를 출력.
                                 배열을 출력할 경우, 배열의 원소들 값과 구조를 출력함. */
    echo '<br>';
    var_dump($friends);       /* var_dump() 함수 :
                                배열을 출력할 경우, 배열의 원소들 값과 구조를 데이터타입과 함께 출력함  */
    ?>
  </body>
</html>

 

 

 

 

<웹페이지 출력>

 

'Web Programming Language > PHP' 카테고리의 다른 글

PHP) php header utf-8, euc-kr 인코딩 변환  (0) 2020.10.26
반복문과 배열의 활용  (0) 2020.10.23
반복문 while  (0) 2020.10.23
조건문 활용, isset() 함수  (0) 2020.10.22
조건문 if  (0) 2020.10.22

반복문 while

 

 

<php 소스코드>

 

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Loop</title>
  </head>
  <body>
    <h1>while</h1>
    <?php
    echo '1<br>';

    $i = 0;

    while($i < 3){                   // html의 <br>을 사용하려면 ' '을 써야하나보다. 원래 숫자는 ''에 넣지 않아도 되는데, 쓰는걸 보니.
    echo '2<br>';
    $i = $i + 1;
    }
    
    echo '3<br>';
     ?>
  </body>
</html>

 

 

 

 

<웹페이지 출력>

 

 

 

'Web Programming Language > PHP' 카테고리의 다른 글

반복문과 배열의 활용  (0) 2020.10.23
배열  (0) 2020.10.23
조건문 활용, isset() 함수  (0) 2020.10.22
조건문 if  (0) 2020.10.22
var_dump() 함수, 비교 연산자의 사용, Boolean 데이터타입  (0) 2020.10.22

조건문 활용, isset() 함수

 

isset() 함수 : 해당 변수가 선언되었는지 확인하고 그렇다면 True, 아니면 False를 출력.

 

 

 

isset() 함수 괄호에 변수로 GET방식으로 id 파라미터값을 받아오려하는데,

이 id 파라미터값이 존재하는지 확인하는 조건문이다.

 

 

<php 소스코드>

 

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
  <title></title>
  </head>
  <body>
    <h1><a href="index3.php">WEB</a></h1>
    <ol>
      <li><a href="index3.php?id=HTML">HTML</a></li>                 <!-- 해당 하이퍼링크를 클릭하면 id 파라미터 값(여기선 HTML)을 전달한다. 즉, 클릭하면 id 값으로 HTML이 들어간다.-->
      <li><a href="index3.php?id=CSS">CSS</a></li>                   <!-- 해당 하이퍼링크를 클릭하면 id 파라미터 값(여기선 CSS)을 전달한다. -->
      <li><a href="index3.php?id=JavaScript">JavaScript</a></li>     <!-- 해당 하이퍼링크를 클릭하면 id 파라미터 값(여기선 JavaScript)을 전달한다. -->
    </ol>
    
   
     <h2>
      <?php
      if(isset($_GET['id'])){                       /* isset() 함수 : 해당 변수가 선언되었는지 확인하고 그렇다면 True, 아니면 False를 출력. 즉 if ()안에 true, false 값을 주게된다.
                                                    즉, isset() 함수 괄호안에 변수로 GET방식으로 id 파라미터값을 받아오려하는데 이 id 파라미터값이 존재하는지 확인하는 조건문이다. */
        
      echo $_GET['id'];                           // id 파라미터값이 존재한다면 해당 id 파라미터값 출력.
      }
      else {                                        // 존재하지 않는다면 else {}안 입력값 실행.(else { }안에 입력한 값 출력.)
        echo "HTML, CSS, JavaScript 중 하나를 선택해주세요.(id 파라미터값 입력 안됨)";
      }
      ?>
    </h2>


    
    <?php
      if(isset($_GET['id'])){                      /* isset() 함수 : 해당 변수가 선언되었는지 확인하고 그렇다면 True, 아니면 False를 출력. 즉 if ()안에 true, false 값을 주게된다.
                                                    즉, isset() 함수 괄호안에 변수로 GET방식으로 id 파라미터값을 받아오려하는데 이 id 파라미터값이 존재하는지 확인하는 조건문이다. */

        echo file_get_contents("data/".$_GET['id']);      /* file_get_contents() 함수는 해당 경로에 있는 파일의 내용을 가져오는 함수이다.
                                                      여기서는, data 폴더안의 (GET함수로 받아온 id 파라미터값에 해당하는 이름의 파일)파일의 내용을 가져오게된다.
                                                      id 파라미터값은 하이퍼링크를 클릭하여 받아온 값이 된다(위에 코드 참고). CSS,HTML,JavaScript 셋 중 하나.
                                                      "data/"와 $_GET['id']을 .을 통해 연결해 data/CSS 또는 data/HTML 또는 data/JavaScript 경로의 모습으로 완성되게된다.
                                                      CSS, HTML, JavaScript 파일에는 각각 다른 내용을 입력해 저장해두었다.
                                                          */
        }
      else {                                        // 존재하지 않는다면 else {}안 입력값 실행.(else { }안에 입력한 값 출력.)
        echo "HTML, CSS, JavaScript 중 하나를 선택해주세요222.(id 파라미터값 입력 안됨)";
      }
      ?>


  </body>
</html>

 

 

 

 

<웹페이지 출력>

 

1. id 파라미터값을 입력하지 않았을때

 

/

 

 

 

 

2. HTML 하이퍼링크를 클릭하였을때

 

 

 

 

 

3. CSS 하이퍼링크를 클릭하였을때

 

 

 

 

 

4. JavaScript 하이퍼링크를 클릭하였을때

 

 

'Web Programming Language > PHP' 카테고리의 다른 글

배열  (0) 2020.10.23
반복문 while  (0) 2020.10.23
조건문 if  (0) 2020.10.22
var_dump() 함수, 비교 연산자의 사용, Boolean 데이터타입  (0) 2020.10.22
file_get_contents() 함수  (0) 2020.10.22

조건문 if

 

 

<php 소스코드>

 

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
  </head>
  <body>
    <h1>Conditional 조건문</h1>

    <h2>if</h2>
    <h3>if ()안의 값이 true</h3>
    <?php
    echo '1<br>';
    if(true){                       // if 괄호 안의 값이 true라면 {}중괄호 안에 있는 값이 실행.
    echo '2<br>';
    }
    echo '3<br>';
     ?>

     <br>

    <h3>if ()안의 값이 false</h3>
    <?php
    echo '1<br>';
    if(false){                      // if 괄호 안의 값이 false라면 {}중괄호 안에 있는 값이 실행 X.
    echo '2<br>';
    }
    echo '3<br>';
     ?>

     <br>

     <h3>if ()안의 값이 true이고 else문을 쓸때</h3>
     <?php
     echo '1<br>';
     if(true){                      // if(true) { }괄호 안의 값이 실행되고 else { }괄호 안의 값은 실행 X.
     echo '2<br>';
     }
     else{
     echo '3<br>';
     }
     ?>

     <br>

     <h3>if ()안의 값이 false이고 else문을 쓸때</h3>
     <?php
     echo '1<br>';
     if(false){                      // if(true) { }괄호 안의 값이 실행되지않고 else { }괄호 안의 값은 실행된다.
     echo '2<br>';
     }
     else{
     echo '3<br>';
     }
     ?>
  </body>
</html>

 

 

 

 

 

 

 

<웹페이지 출력>

 

var_dump() 함수, 비교 연산자의 사용, Boolean 데이터타입

 

var_dump() 함수 : ( )괄호 안의 값과 그 값의 데이터타입을 출력해주는 함수.

 

Boolean : true와 false 둘 중 하나의 결과로 반환하는 방식.

 

 

 

<php 소스코드>

 

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    </head>
  <body>

    <h1>var_dump() 함수</h1>
    <?php
    var_dump(1);          // var_dump()함수는 괄호안의 값과 데이터타입을 함께 출력해주는 함수이다.
    var_dump('11');       // 또한, 괄호안에 '문자열'을 넣는다면 해당 값과, 데이터타입, 뿐만 아니라 해당 문자열의 길이까지도 함께 출력된다.

    var_dump(1+1);        // 괄호 안의 값을 연산하고 해당값을 데이터타입과 출력.
     ?>


    <h1>Comparison Operators(비교 연산자) &amp; Boolean data type</h1>       <!--  &amp는 그냥 웹페이지상에 &로 출력하는 명령어? 인듯.  -->

    <h2>1==1</h2>
    <?php
    var_dump(1==1);       /* ==연산자는 비교 연산자로써, 값이 true, false 둘 중 하나의 값으로 나오는 boolean 방식(타입)이다.
                           여기서는 출력값이 bool(true)라고 나온다. 즉, 데이터타입과 비교 연산의 결과값이 출력된다. */
    ?>

    <h2>1==2</h2>
    <?php
    var_dump(1==2);       // 출력값이 bool(false)라고 나온다.
    ?>

    <h2>1>3</h2>
    <?php
    var_dump(1>3);        // 마찬가지로, >연산자도 비교 연산자이다. 출력값이 bool(false)라고 나온다.
     ?>

    <h2>1<5</h2>
    <?php
    var_dump(1<5);        // 출력값이 bool(true)라고 나온다.
    ?>

    <h2>3>=3</h2>
    <?php
    var_dump(3>=3);        // 출력값이 bool(true)라고 나온다.
    ?>
  </body>
</html>

 

 

 

 

<웹페이지 출력>

 

'Web Programming Language > PHP' 카테고리의 다른 글

조건문 활용, isset() 함수  (0) 2020.10.22
조건문 if  (0) 2020.10.22
file_get_contents() 함수  (0) 2020.10.22
strlen() 함수, nl2br() 함수  (0) 2020.10.22
하이퍼링크로 파라미터값 받기  (0) 2020.10.22

+ Recent posts