DEVELOP
article thumbnail

1. php의 원리 

* html 파일 전송 시 (정적)

- 웹 서버에서 html 파일을 요청받으면 그대로 읽어서 그대로 전송함 ( 언제나 똑같은 정보를 보여줌)

 

* php 파일 전송 시 (동적)

- php 파일을 요청받으면 웹 서버가 자신이 처리할 수 없다는 것을 알고,  PHP프로그램에게 위임함 

- php파일을 열어보고 <?php 기호가 나오면 그 다음 코드들을 해석해서 동작하게 함 

- ?> 가 나오면 해석한 결과를 웹 서버에게 보내고 웹 서버는 웹 브라우저에게 보냄

- 웹 브라우저는 php코드가 없는 순수 html만으로 이루어진 정보를 받음 


2. php의 기본 문법

- php 시작과 끝을 알리는 <?php  , ?> 기호 

<php />
<?php ?>

- 출력문은 echo 함수, 문장의 끝에는 항상 세미콜론(;) 붙여주어야 함 

<php />
echo 1+2;

- 문자열 연결할 때는 '.' 으로 연결 

<php />
"Hello"."World!"

- 문자열 길이는 strlen 함수 사용 

<php />
strlen("Hello World!")

- 변수 선언시 변수 이름 앞 '$' 추가해 선언 , 변수 사용시에도 변수 이름 앞 '$' 추가해 사용 

<php />
$name = "abcde"; echo "Hello, ".$name;

- php의 url 파라미터는 $_GET['파라미터이름' 통해 얻을 수 있음 

<php />
<h2>Welcome, <?php echo $_GET['name'];?>!</h2>

http://localhost/test.php?name=user 접속

- 파라미터 여러개 사용 시 &로 연결함

<php />
<h2>Welcome, <?php echo $_GET['name'];?> who lives in <?php echo $_GET['address'];?>.</h2>

http://localhost/test.php?name=kim&address=seoul 접속

- 파일 읽기 함수 : file_get_contents()

<php />
file_get_contents("data/HTML");

 

- 데이터 타입과 함께 출력해주는 함수 : var_dump()

<php />
var_dump(1+1); // int 2

- 디렉토리의 파일 리스트를 가져오는 함수 : scandir()

<php />
$list = scandir('./data');

3. php의 함수 선언

- php의 함수 선언 : function(){}

<php />
function print_title() { if (isset($_GET['id'])) { echo $_GET['id']; } else { echo "Welcome"; } }

4. php의 배열

- php의 배열 : array

<php />
$list = array(1,2,3);

- 배열의 개수를 리턴해주는 함수 : count()

<php />
count($list)

- 배열에 원소를 추가하는 함수 : array_push() - 첫번째 파라미터에는 배열이 와야함

<php />
array_push($list, 4);

5. php의 조건문

- php의 조건문 : if

<php />
if (isset($_GET['id'])) { echo $_GET['id']; } else { echo "Welcome"; }

- 값이 있는지 없는지 확인하는 함수 : isset - if문과 함께 활용

<php />
isset($_GET['id'])

6. php의 반복문

- php의 반복문 : while 

<php />
$i = 0; while($i<5){ echo $i; $i++; } //01234

- php의 반복문 : for

<php />
for($i=0; $i<5; $i++){ echo $i; } // 01234

 


- 전체코드

<php />
<?php function print_title() { if (isset($_GET['id'])) { echo $_GET['id']; } else { echo "Welcome"; } } function print_list(){ $list = scandir('./data'); for ($i = 0; $i < count($list); $i++) { if ($list[$i] != '.' && $list[$i] != '..') { echo "<li><a href=\"index.php?id=$list[$i]\">$list[$i]</a></li>"; } } } function print_description(){ if (isset($_GET['id'])) { echo file_get_contents("data/" . $_GET['id']); } else { echo "Hello, php"; } } ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title><?php print_title(); ?></title> </head> <body> <h1><a href="index.php">WEB</a></h1> <ol> <?php print_list(); ?> </ol> <h2> <?php print_title(); ?> </h2> <p> <?php print_description(); ?></p> </body> </html>

결과예시

profile

DEVELOP

@JUNGY00N