PHP PHP 개요개요및및설치설치 -...

20
1 웹 프로그래밍 프로그래밍 및 실습 실습 (Web Programming & Practice) (Web Programming & Practice) PHP PHP 개요 개요 및 설치 설치 문양세 문양세 강원대학교 강원대학교 IT IT대학 대학 컴퓨터과학전공 컴퓨터과학전공 CGI 프로그래밍 Perl, C, Shell Script, … 웹 애플리케이션 애플리케이션 개발 개발 기술 기술 웹 프로그래밍 기술 요약 웹과 인터넷 활용 및 실습 스크립트 프로그래밍 ASP, JSP, PHP 컴포넌트 + 스크립트 기반의 웹 에플리케이션 ASP.NET, EJB In this class (In particular, PHP) In the advanced course (or DO IT BY YOURSELF) Web Programming by Yang-Sae Moon Page 2

Transcript of PHP PHP 개요개요및및설치설치 -...

Page 1: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

1

웹웹 프로그래밍프로그래밍 및및 실습실습(Web Programming & Practice)(Web Programming & Practice)g gg g

PHP PHP 개요개요 및및 설치설치

문양세문양세강원대학교강원대학교 ITIT대학대학 컴퓨터과학전공컴퓨터과학전공

CGI 프로그래밍

Perl, C, Shell Script, …

웹웹 애플리케이션애플리케이션 개발개발 기술기술웹 프로그래밍 기술 요약

웹과 인터넷 활용 및 실습

스크립트 프로그래밍

ASP, JSP, PHP

컴포넌트 + 스크립트 기반의 웹 에플리케이션

ASP.NET, EJB

In this class(In particular, PHP)

In the advanced course(or DO IT BY YOURSELF)

Web Programmingby Yang-Sae MoonPage 2

Page 2: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

2

Microsoft 기반

• HTML, DHTML(Dynamic HTML), Internet Explorer, IIS, ASP

• COM/DCOM, Active X Component, .NET

플랫폼플랫폼 별별 웹웹 애플리케이션애플리케이션 개발개발 환경환경웹 프로그래밍 기술 요약

• SQL Server

Java 기반

• JavaScript, Servlet, JSP

• JavaBeans/EJB, EJB Container, J2EE

Web Programmingby Yang-Sae MoonPage 3

Linux(UNIX) 기반

• Apache, PHP

• MySQL, PostgressSQL, Oracle

Client Side Programming

• ActiveX Controls (Visual C++ or VB)

• Java Applet

웹웹 프로그래밍프로그래밍 분류분류웹 프로그래밍 기술 요약

Client(PC, Browser)에서 수행

• JavaScript

• DHTML

Server Side Programming

• CGI (Perl, C, ShellScript, …)

• Java Servlet

Web Programmingby Yang-Sae MoonPage 4

• ASP (Active Server Page)

• JSP (Java Server Page)

• PHP (Personal Home Page Tools)

Server(Web Server, Machine)에서 수행

Page 3: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

3

Client Side

Client Side vs. Server SideClient Side vs. Server Side웹 프로그래밍 기술 요약

웹 브라우저HTTP 서버

HTML 요청

HTTP 서버

HTML 응답

HTML & Client Script

컴파일

실행!!

Server Side

Web Programmingby Yang-Sae MoonPage 5

웹 브라우저HTTP 서버

서버 페이지 요청(JSP, ASP, PHP)

서버 페이지 결과(JSP, ASP, PHP)

HTML & Client Script

컴파일

실행!!

ActiveX

• Created by C++ or VB

• <OBJECT> tag를 통해 사용

Client Side TechnologyClient Side Technology웹 프로그래밍 기술 요약

• MS에서 만들어졌으며, Netscape에서는 지원 안됨

Java Applet

• <Applet> tag를 통해 사용

• 사용자에 의해(사용자의 PC에서) 바이트코드로 변환

• 이러한 바이트코드는 Java Enabled Browser에서 번역 (VM 상에서 구동)

JavaScript

Web Programmingby Yang-Sae MoonPage 6

JavaScript

• Client Side의 대표적 스크립트언어 (IE 3.0 이상에서 작동)

• Web Browser에서 소스를 Interpret하여 실행

• 자바와 닮긴 했지만 별개

Page 4: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

4

ASP (Active Server Page)

• Platform Dependent (Windows Environment)

• IIS4.0이 배급되면서 더욱 발전하였으며, VB의 많은 부분을 웹에서 사용가능

Server Side TechnologyServer Side Technology웹 프로그래밍 기술 요약

Java Servlet

• 동적 Web Page 구현을 위한 CGI를 자바로 구현 (Platform Independent)

• Web Browser의 Applet과 서버와의 통신을 위한 인터페이스로 주로 사용

JSP (Java Server Page)

• 자바코드 속에 HTML을 넣는 Java Servlet의 한계 극복

• HTML안에 자바 코드 삽입

Web Programmingby Yang-Sae MoonPage 7

HTML안에 자바 코드 삽입

PHP (Personal Home Page Tools)

• Linux(or UNIX) 환경에 적합하며, C/C++ User의 접근이 용이함

• 성능면에서 가장 우수한 것으로 알려짐

PHP: (Professional) Hypertext Preprocessor or Personal Home Page

PHP는 웹 프로그래밍 언어이다.

• 서버에서 동작하는 스크립트 (script) 언어

PHP PHP 언어언어 소개소개 (1/2)(1/2)PHP 개요 및 설치

• 주로 동적인 (dynamic) 웹 페이지를 구성할 때 많이 사용됨

PHP의 성능과 기능은 계속해서 향상되고 있다.

• 1994년 Rasmus Lerdorf

• 1995년 PHP Version 2

• 1998년 PHP Version 3

Web Programmingby Yang-Sae MoonPage 8

• 2000년 PHP Version 4

PHP는 배우고 프로그래밍 하기 쉬운 언어이다.

• 많은 수의 함수 및 라이브러리를 포함

• C, Perl, Java 언어의 문법과 비슷함

Page 5: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

5

전 세계적으로 많은 사람들이 PHP를 사용하고 있다.

PHP는 다양한 데이터베이스와 쉽게 연동할 수 있다.

PHP PHP 언어언어 소개소개 (2/2)(2/2)PHP 개요 및 설치

• Informix, MS-SQL, mSQL, MySQL, Oracle, Sybase

PHP는 다양한 컴퓨터 상에서 동작된다.

• Windows, Unix, Linux 등 거의 모든 기종의 컴퓨터에서 동작 가능

Web Programmingby Yang-Sae MoonPage 9

PHP는 다양한 라이브러리를 제공한다.

• PDF, XML, 세션, 정규표현식, SNMP, IMAP, COM 등에 대한 라이브러리 지원

서버에서서버에서 수행되는수행되는 PHP (1/2)PHP (1/2)PHP 개요 및 설치

www.kangwon.ac.kr서버 컴퓨터

HTML 요청: 클라이언트에서 수행됨

abc.html

서버 컴퓨터

인터넷

Web Programmingby Yang-Sae MoonPage 10

http://www.kangwon.ac.kr/abc.html

Page 6: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

6

서버에서서버에서 수행되는수행되는 PHP (2/2)PHP (2/2)PHP 개요 및 설치

PHP 요청: 서버에서 수행되어 클라이언트에는 결과 전달

파일시스템

www.kangwon.ac.kr서버 컴퓨터

인터넷

스크립트엔진

웹서버

파일시스템abc.php

DB

request

HTML

서버 컴퓨터

Web Programmingby Yang-Sae MoonPage 11

http://www.kangwon.ac.kr/abc.php

예제로예제로 본본 HTMLHTML과과 PHPPHP의의 차이차이 (1/12)(1/12)PHP 개요 및 설치

HTML로 구현한 “과일 쇼핑몰” 예제 (HTML main source)

<html>

<body>

원하는 가격을 누르십시요.<br>

<form name=fruit30 action=“./fruit30.html”>

<input type=submit value=“30원이하”>

</form>

<form name=fruit60 action=“./fruit60.html”>

<input type=submit value=“60원이하”>

</form>

Web Programmingby Yang-Sae MoonPage 12

<form name=fruit90 action=“./fruit90.html”>

<input type=submit value=“90원이하”>

</form>

</body>

</html>

Page 7: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

7

예제로예제로 본본 HTMLHTML과과 PHPPHP의의 차이차이 (2/12)(2/12)PHP 개요 및 설치

HTML로 구현한 “과일 쇼핑몰” 예제 (HTML main result)

Web Programmingby Yang-Sae MoonPage 13

예제로예제로 본본 HTMLHTML과과 PHPPHP의의 차이차이 (3/12)(3/12)PHP 개요 및 설치

HTML로 구현한 “과일 쇼핑몰” 예제 (HTML sub-menu(30원) source)

<html>

<body><body>

가격이 30원 이하인 과일의 목록입니다.<br>

<table border=1>

<tr><th>이름</th><th>가격</th></tr>

<tr><td>사과</td><td>10</td></tr>

<tr><td>배</td><td>20</td></tr>

<tr><td>복숭아</td><tr>30</td></tr>

</table>

Web Programmingby Yang-Sae MoonPage 14

</table>

</body>

</html>

Page 8: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

8

예제로예제로 본본 HTMLHTML과과 PHPPHP의의 차이차이 (4/12)(4/12)PHP 개요 및 설치

HTML로 구현한 “과일 쇼핑몰” 예제 (HTML sub-menu(30원) result)

Web Programmingby Yang-Sae MoonPage 15

예제로예제로 본본 HTMLHTML과과 PHPPHP의의 차이차이 (5/12)(5/12)PHP 개요 및 설치

HTML로 구현한 “과일 쇼핑몰” 예제 (HTML sub-menu(60원) source)

<html>

<body>

가격이 원 이하인 과일의 목록입니다가격이 60원 이하인 과일의 목록입니다.<br>

<table border=1>

<tr><th>이름</th><th>가격</th></tr>

<tr><td>사과</td><td>10</td></tr>

<tr><td>배</td><td>20</td></tr>

<tr><td>복숭아</td><td>30</td></tr>

<tr><td>수박</td><td>40</td></tr>

<tr><td>감</td><td>50</td></tr>

Web Programmingby Yang-Sae MoonPage 16

<tr><td>감</td><td>50</td></tr>

<tr><td>토마토</td><td>60</td></tr>

</table>

</body>

</html>

Page 9: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

9

예제로예제로 본본 HTMLHTML과과 PHPPHP의의 차이차이 (6/12)(6/12)PHP 개요 및 설치

HTML로 구현한 “과일 쇼핑몰” 예제 (HTML sub-menu(60원) result)

Web Programmingby Yang-Sae MoonPage 17

예제로예제로 본본 HTMLHTML과과 PHPPHP의의 차이차이 (7/12)(7/12)PHP 개요 및 설치

HTML로 구현한 “과일 쇼핑몰” 예제 (HTML sub-menu(90원) source)

<html>

<body>

가격이 90원 이하인 과일의 목록입니다.<br>가격이 90원 이하인 과일의 목록입니다.<br>

<table border=1>

<tr><th>이름</th><th>가격</th></tr>

<tr><td>사과</td><td>10</td></tr>

<tr><td>배</td><td>20</td></tr>

<tr><td>복숭아</td><td>30</td></tr>

<tr><td>수박</td><td>40</td></tr>

<tr><td>감</td><td>50</td></tr>

<tr><td>토마토</td><td>60</td></tr>

Web Programmingby Yang-Sae MoonPage 18

<tr><td>바나나</td><td>70</td></tr>

<tr><td>키위</td><td>80</td></tr>

<tr><td>파인애플</td><td>90</td></tr>

</table>

</body>

</html>

Page 10: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

10

예제로예제로 본본 HTMLHTML과과 PHPPHP의의 차이차이 (8/12)(8/12)PHP 개요 및 설치

HTML로 구현한 “과일 쇼핑몰” 예제 (HTML sub-menu(90원) result)

Web Programmingby Yang-Sae MoonPage 19

예제로예제로 본본 HTMLHTML과과 PHPPHP의의 차이차이 (9/12)(9/12)PHP 개요 및 설치

PHP로 구현한 “과일 쇼핑몰” 예제 (PHP main source)

<html>

<body>

<form name=fruit method=post action=“ /fruit2 php”><form name=fruit method=post action= ./fruit2.php >

원하는 가격을 입력 하십시요.<br>

가격 : <input type=text name=low><br>

<input type=submit value=“찾기”>

</form>

</body>

</html>

Web Programmingby Yang-Sae MoonPage 20

Page 11: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

11

예제로예제로 본본 HTMLHTML과과 PHPPHP의의 차이차이 (10/12)(10/12)PHP 개요 및 설치

PHP로 구현한 “과일 쇼핑몰” 예제 (PHP main result)

Web Programmingby Yang-Sae MoonPage 21

예제로예제로 본본 HTMLHTML과과 PHPPHP의의 차이차이 (11/12)(11/12)PHP 개요 및 설치

PHP로 구현한 “과일 쇼핑몰” 예제 (PHP dynamic page source)

<?PHP

$fruit = array (“사과” => 10, “배” => 20, “복숭아” => 30,

“수박” => 40, “감” => 50, “토마토” => 60,

“바나나” => 70, “키위” => 80, “파인애플” => 90,

“대추” => 100);

print “가격이” . $low . “원 이하인 과일의 목록입니다.”;

print “<table border=1><tr><th>이름</th><th>가격</th></tr>”;

foreach ($fruit as $name => $price) {

if ($price <= $low)

Web Programmingby Yang-Sae MoonPage 22

print “<tr><td>” . $name . “</td><td>” . $price . </td></tr>”;

}

print “</table>”;

?>

Page 12: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

12

예제로예제로 본본 HTMLHTML과과 PHPPHP의의 차이차이 (12/12)(12/12)PHP 개요 및 설치

PHP로 구현한 “과일 쇼핑몰” 예제 (PHP dynamic page result)

Web Programmingby Yang-Sae MoonPage 23

APM(Apache+PHP+MySQL)을 설치한다.

관련 사이트: http://www.apmsetup.com

APM APM 설치설치 요약요약PHP 개요 및 설치

p p p

Windows 환경, Linux 환경, UNIX 환경 중 자신이 손쉽게 사용할 수 있는

환경을 택하여 APM을 설치한다.

Web Programmingby Yang-Sae MoonPage 24

Page 13: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

13

APM Setup APM Setup 페이지페이지 (www.apmsetup.com)(www.apmsetup.com)PHP 개요 및 설치

Web Programmingby Yang-Sae MoonPage 25

APM Setup APM Setup 다운로드다운로드PHP 개요 및 설치

Web Programmingby Yang-Sae MoonPage 26

Page 14: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

14

APM Setup APM Setup 절차절차 (1/5)(1/5)PHP 개요 및 설치

Web Programmingby Yang-Sae MoonPage 27

APM Setup APM Setup 절차절차 (2/5)(2/5)PHP 개요 및 설치

Web Programmingby Yang-Sae MoonPage 28

Page 15: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

15

APM Setup APM Setup 절차절차 (3/5)(3/5)PHP 개요 및 설치

Web Programmingby Yang-Sae MoonPage 29

APM Setup APM Setup 절차절차 (4/5)(4/5)PHP 개요 및 설치

Web Programmingby Yang-Sae MoonPage 30

Page 16: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

16

APM Setup APM Setup 절차절차 (5/5)(5/5)PHP 개요 및 설치

Web Programmingby Yang-Sae MoonPage 31

APM APM 디렉토리디렉토리 살펴보기살펴보기 (1/3)(1/3)PHP 개요 및 설치

Web Programmingby Yang-Sae MoonPage 32

Page 17: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

17

APM APM 디렉토리디렉토리 살펴보기살펴보기 (2/3)(2/3)PHP 개요 및 설치

Web Programmingby Yang-Sae MoonPage 33

APM APM 디렉토리디렉토리 살펴보기살펴보기 (3/3)(3/3)PHP 개요 및 설치

Web Programmingby Yang-Sae MoonPage 34

Page 18: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

18

APM Setup APM Setup 환경환경 설정설정 ((1/2)1/2)PHP 개요 및 설치

Web Programmingby Yang-Sae MoonPage 35

APM Setup APM Setup 환경환경 설정설정 ((2/2)2/2)PHP 개요 및 설치

Web Programmingby Yang-Sae MoonPage 36

Page 19: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

19

MySQLMySQL 패스워드패스워드 변경변경PHP 개요 및 설치

Web Programmingby Yang-Sae MoonPage 37

메모장을 열어

다음과 같이

간단한 형식의

PHP 파일

(t t h )을

APM APM 설치설치 확인확인 (1/2)(1/2)PHP 개요 및 설치

(test.php)을작성한다.<? Phpinfo(); ?>

Web Programmingby Yang-Sae MoonPage 38

웹 브라우저에서 http://127.0.0.1/test.php를 입력하여 PHP 버전 등의 정보가

정상적으로 출력되면 바르게 설치된 것이다.

Page 20: PHP PHP 개요개요및및설치설치 - cs.kangwon.ac.krcs.kangwon.ac.kr/~ysmoon/courses/2010_1/wp/08.pdf5 전세계적으로많은사람들이php를사용하고있다. php는다양한데이터베이스와쉽게연동할수있다.

20

APM Setup 메뉴에서 “MYSQL 관리”을 수행하여 확인한다.

APM APM 설치설치 확인확인 (2/2)(2/2)PHP 개요 및 설치

Web Programmingby Yang-Sae MoonPage 39

Homework #7Homework #7PHP 개요 및 설치

Web Programmingby Yang-Sae MoonPage 40