PHP 웹 프로그래밍 (PHP Web Programming) 웹 연동 기술 문양세 강원대학교 IT대학 컴퓨터과학전공.

Slides:



Advertisements
Similar presentations
제철고 프로그래밍언어 2015 가을학기 강의 #2 Python 변수, 입출력, 배열 박성우 POSTECH 컴퓨터공학과 2015 년 9 월 30 일.
Advertisements

Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
1. 테스트 스크립트 작성 2. 간단한 패턴 정의하기 3. 수량자 사용하기 4. 문자 클래스 사용하기 5. 전체 매치하기 6. 변경자의 사용 7. 패턴 매치와 치환.
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
Linux/UNIX Programming
DB 프로그래밍 학기.
DB 프로그래밍 학기.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
컴퓨터 프로그래밍 기초 [Final] 기말고사
웹 서버 동작 HTTP 클라이언트가 서버와 대화하는 방법과 데이터를 서버에서 클라이언트로 전송 하는 방법을 정의한 프로토콜
데이터 파일 C 데이터 파일과 스트림(Stream) 텍스트 파일 처리
조 병 규 Software Quality Lab. 한국교통대학교
Heesang kim PL/SQL 3 Heesang kim.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
홈페이지용 그림 활용법 그림 삽입 태그 <IMG> 배경 그림 다루기 그림과 문자열의 어울림
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
11 표준 입출력과 파일 입출력 데이터를 읽고 쓰는 다양한 방법 익히기!.
6장. printf와 scanf 함수에 대한 고찰
컴퓨터 프로그래밍 : 실습3 2장 데이터와 식.
11장. 1차원 배열.
C#.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
JA A V W. 03.
PHP 웹 프로그래밍 (PHP Web Programming) 세션 (Session) 문양세 강원대학교 IT대학 컴퓨터과학전공.
프로그래밍 개요
인터넷응용프로그래밍 JavaScript(Intro).
Linux/UNIX Programming
Linux/UNIX Programming
2장. JSP 프로그래밍을 위한 환경구성 제2장.
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
Web & Internet [03] HTML5 다양한 태그
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
24장. 파일 입출력.
Linux/UNIX Programming
PHP 개요 및 설치 Yang-Sae Moon Department of Computer Science
유용한 PHP 함수들 Yang-Sae Moon Department of Computer Science
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
(Web Programming & Practice)
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
8장 쿠키와 세션 한빛미디어(주).
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
3D 프린팅 프로그래밍 05 – 반복패턴 만들기 강사: 김영준 목원대학교 겸임교수.
자바 5.0 프로그래밍.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
Linux/UNIX Programming
PHP 웹 프로그래밍 (PHP Web Programming) 유용한 PHP 함수 문양세 강원대학교 IT대학 컴퓨터과학전공.
웹 연동 기술 Yang-Sae Moon Department of Computer Science
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
Linux/UNIX Programming
Linux/UNIX Programming
웹(WWW).
PHP 웹 프로그래밍 (PHP Web Programming) 미리 정의된 함수 문양세 강원대학교 IT대학 컴퓨터과학전공.
암호학 응용 Applied cryptography
에어 PHP 입문.
Introduction to JSP & Servlet
(Web Programming & Practice)
암호학 응용 Applied cryptography
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
13주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
Linux 9.X 기초에서 활용까지 Chapter 06 VI 편집기.
함수, 모듈.
9 브라우저 객체 모델.
이산수학(Discrete Mathematics)  술어와 한정기호 (Predicates and Quantifiers)
7 생성자 함수.
Linux/UNIX Programming
Linux/UNIX Programming
Presentation transcript:

PHP 웹 프로그래밍 (PHP Web Programming) 웹 연동 기술 문양세 강원대학교 IT대학 컴퓨터과학전공

URL 분석 (1/2) URL (Uniform Resource Locator) URL을 속성별로 분리하고자 할 경우 웹 연동 기술 URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의 정보를 포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL을 속성별로 분리하고자 할 경우 parse_url() 함수 사용 분리한 결과는 array에 저장(리턴) parse_url array parse_url (string url)

URL 분석 (2/2) 예제 (parse_url.php) <?PHP 웹 연동 기술 예제 (parse_url.php) <?PHP $parse_arr = parse_url (“http://kim:3579@www.hostname.com:80/doc/index.html”); print $parse_arr[host].”<br>”; print $parse_arr[port].”<br>”; print $parse_arr[path].”<br>”; print $parse_arr[user].”<br>”; print $parse_arr[pass].”<br>”; ?>

URL 내용 읽어오기 (1/4) 다른 홈페이지의 문서를 읽어오거나 URL 문서에서 필요한 정보를 추출하는 방법 웹 연동 기술 다른 홈페이지의 문서를 읽어오거나 URL 문서에서 필요한 정보를 추출하는 방법 fopen() 함수를 이용하여 매개 변수 위치에 URL을 삽입 홈페이지의 문서를 읽어와서 출력 (readsite1.php) <?PHP $fp = fopen (“http://www.donga.com/”,”r”) or die (“요청하신 페이지를 읽어올 수 없습니다.”); while ($line = fgets($fp, 1024)) { print $line; } fclose ($fp); ?>

만일 readsite1.php가 잘 동작치 않으면(1/2) 웹 연동 기술 다음과 같은 오류가 발생한다면… “php.ini” 파일에서 다음과 같이 수정(Off  On)해 주세요. 다음 장 계속 ->

만일 readsite1.php가 잘 동작치 않으면(2/2) 아파치를 재시작(stop  start) 합니다.

URL 내용 읽어오기 (2/4) 웹 연동 기술 수행 결과 (readsite1.php)

URL 내용 읽어오기 (3/4) 다른 방법 예제 (readsite2.php) 웹 연동 기술 다른 방법 fopen() 및 fgets() 대신에 readfile() 함수를 사용 readfile() 함수는 파일의 내용을 읽어서 바로 출력하기 때문에 별도의 읽기 및 출력 과정이 필요하지 않음 주의점: 파일의 이름을 넘겨주는 파라미터에 반드시 사용하는 프로토콜(http://)을 지정하는 부분이 들어가야 함 예제 (readsite2.php) <?PHP readfile (“http://www.daum.net/”); ?>

URL 내용 읽어오기 (4/4) 웹 연동 기술 수행 결과 (readsite2.php)

링크(link) 읽어오기 (1/3) 특정 사이트의 문서에 포함되어 있는 링크만을 읽어올 경우 웹 연동 기술 특정 사이트의 문서에 포함되어 있는 링크만을 읽어올 경우 <A HREF> 태그로 시작되는 부분을 읽어옴 (예: <A HREF=“http://cs.kangwon.ac.kr> ..) 정규 표현식을 사용하여 태그를 찾음 개념적 표현 형태: <, 임의의 문자들, a, 임의의 문자들, href=, 임의의 문자들, >, 임의의 문자들, </, 임의의 문자들, a, 임의의 문자들, > 순 정규 표현식 형태: “/<.*a.*href=.*>.*<\/.*a.*>/”

링크(link) 읽어오기 (2/3) 예제 (parse_link.php) 웹 연동 기술 예제 (parse_link.php) <?PHP $fp = fopen (“http://www.hani.co.kr/”, ”r”) or die (“URL을 열수 없습니다.”); while ($str = fgets ($fp, 1024)) { if (preg_match_all (‘/<.*a.*href=.*>.*<\/.*a.*>/’, $str, $url_str)) foreach ($url_str[0] as $match) print $match.”<br>”; } ?> preg_match_all(string pattern, string subject, array matches): 스트링 subject에서 주어진 pattern을 모두 찾아서 배열 matches에 저장하는 함수 첫번째 매치가 배열 $matches[0]에 저장됨 (c.f., $matches[1]에는 서브 패턴이 저장됨)

링크(link) 읽어오기 (3/3) 웹 연동 기술 수행 결과

일반 텍스트 문서  HTML 문서 (1/6) 예상 문제점 예제 (linkexample.php) 특수문자의 처리 웹 연동 기술 예상 문제점 특수문자의 처리 예를 들어 ‘<’와 ‘>’ 사이에 있는 문자는 HTML에서 태그로 인식  변환이 필요 예제 (linkexample.php) grapes lemon <pear> mango <orange> apple <?PHP $text_array = file (“example.txt”) foreach ($text_array as $line) { print $line; } ?>

일반 텍스트 문서  HTML 문서 (2/6) 출력 결과 웹 연동 기술 출력 결과 <pear>와 <orange>가 출력되지 않았음  why? HTML에서 태그로 인식되었음

일반 텍스트 문서  HTML 문서 (3/6) HTML에서는, HTML에서 사용되는 엔티티들을 특수한 문자로 바꿀 경우 웹 연동 기술 HTML에서는, HTML 태그나 “엔터” 문자를 브라우저에서 인식하지 못함 이 문제점을 해결하기 위해서는 각 문자를 다른 기호로 나타내어야 함 공백 문자    <  < (lt means “less than”) >  > (gt means “greater than”) HTML에서 사용되는 엔티티들을 특수한 문자로 바꿀 경우 htmlentities() 사용 (c.f., 유사한 함수로 htmlspecialchars() 사용)

일반 텍스트 문서  HTML 문서 (4/6) htmlentities string: HTML로 변환하고자 하는 문자열 웹 연동 기술 htmlentities string: HTML로 변환하고자 하는 문자열 quote_style: 따옴표(“와 ‘)에 대한 처리 방법 (아래 링크 참조) charset: 문자열의 문자 집합 참조: http://php.net/manual/kr/function.htmlentities.php string htmlentities (string string [,int quote_style [,string charset]]))

일반 텍스트 문서  HTML 문서 (5/6) nl2br 수정된 예제 (linkexample2.php) 웹 연동 기술 nl2br “엔터” 문자의 변환 (new line(“\n”)을 “<br>”로 변환하는 함수) 수정된 예제 (linkexample2.php) string nl2br (string string) <?PHP $text_array = file (“example.txt”) foreach ($text_array as $line) { print nl2br (htmlentities ($line)); } ?> file(): 파일 전체를 읽어서 배열에 저장하는 함수

일반 텍스트 문서  HTML 문서 (6/6) 웹 연동 기술 수행 결과

HTML 문서  일반 텍스트 문서 (1/2) HTML 문서를 일반 문서로 바꿀 경우 HTML 태그를 삭제하는 방법 웹 연동 기술 HTML 문서를 일반 문서로 바꿀 경우 HTML 문서의 모든 태그를 삭제 <br>을 “엔터”로 변환 HTML 태그를 삭제하는 방법 strip_tags() 함수를 사용 <br>을 엔터 문자로 변환하는 함수는 없음  정규 표현식 이용하여 변환 strip_tags: HTML 태그를 제거함 (http://php.net/manual/kr/function.strip-tags.php) string strip_tags (string str [, string allowable_tags])

HTML 문서  일반 텍스트 문서 (2/2) 예제 (html2txt.php) 웹 연동 기술 예제 (html2txt.php) <html> <body> grapes lemon pear<br> mango orange apple </body> </html> <?PHP $html_file = file (“htmlexample.html”); $fp = fopen (“destfile.txt”, “w”); foreach ($html_file as $line) { $line = eregi_replace (“<br>”, “\n”, $line); $line = strip_tags ($line); fputs ($fp, $line); } fclose ($fp); ?> grapes lemon pear mango orange apple eregi_replace(): 주어진 패턴을 주어진 스트링으로 변환 (예: <br>  “\n”)

Homework #10 (실습 #9) 웹 연동 기술