웹기초_1주차 정리

2022. 7. 10. 13:2522-여름방학/웹 해킹(WEB HACKING)&웹 기초

웹기초 : 생활코딩 WEB2 - PHP 1강~17강

https://www.youtube.com/watch?v=Qh_6JheU_gY&list=PLuHgQVnccGMAMMNByX8Bf1BkVrShBhj1I 


PHP-1.수업소개

 

웹페이지를 수동으로 만들지 않기 위해서, 또 많은 수의 웹페이지를 관리하기 힘들어져서 PHP, JSP, ASP, Django, Ruby on Rails, Node.js과 같은 기술들을 만들었다.

1995년 라스모스 레드로프는 PHP를 만들었다. PHP를 이용하면 웹페이지를 자동으로 만들 수 있다. 사이트의 운영자가 컨텐츠의 내용을 작성해서 PHP에게 넘기면, PHP는 사용자 대신에 컨텐츠를 html로 자동으로 만들어준다.

 


2. 수업의 목적

 

4.html 파일 : PHP가 무엇인가에 대한 설명을 담은 것 -> 웹페이지 하나를 추가하면 다른 페이지까지 다 변경해야하는데, 페이지가 많으면 많을수록 변경해야할 것도 많아지고 시간도 오래걸리게 된다. 그럴 때, PHP를 사용하면 한 번에 바꿀 수 있는 효과를 가져온다.

index.php라는 파일을 변경하는 걸 통해서 전체 웹페이지를 단 한 번의 수정으로 바꿀 수 있는 효과를 갖게 된다.

 


3.1.1. PHP 설치 (윈도우)

 

htdocs 아래에 있는 파일들 다 삭제

atom에서 'add project folder'버튼을 눌러 htdocs라는 디렉토리를 프로젝트 폴더로 지정함

거기에 test.php파일 만들기

http://127.0.0.1/test.php을 입력하면 아래와 같은 창이 나온다.

 


3.1.2. PHP 환경 설정 변경 (윈도우)

 

C:\Bitnami\wampstack-7.4.30-1\php로 이동해서 오른쪽 마우스를 클릭하고 편집버튼을 누른다.

php.ini파일을 편집해서 공장출하상태인 파일을 기본적인 동작 방법을 다르게 바꿀 수 있다.

Ctrl+f키를 눌러서 display_errors를 찾아서 error를 알려주는 것을 on으로 바꾸기

위의 방식과 같은 방식으로 opcach를 0으로 바꿔서 끄기

 

C:\Bitnami\wampstack-7.4.30-1에서 manager-windows를 누른 후 manage servers로 들어가서 apache web server를 restart한다.

 


4. PHP의 원리

 

웹서버는 웹브라우저로부터 확장자가 PHP인 파일을 받으면, 자신이 처리할 수 없는 파일을 알기 때문에 PHP로 그 파일을 보낸다.

현재 시간을 출력하는 코드를 작성했기 때문에 리로드 될 때마다 현재 시간이 출력된다. PHP는 동적이기 때문에 원하는 것을 PHP 문법에 따라서 써줄 수 있다.

 


5. PHP의 데이터 타입

 

php의 데이터 타입 : boolean, integer, float, string


5.1. PHP와 숫자

 

php에서 출력하는 방법 echo이고, 문장의 끝에는 꼭 ;을 붙여줘야 한다.

자연수는 1,2,3..이런 식으로, 음수는 -1,-2,-3 이런 식으로, 소수는 1.1,1.2.. 이런 식으로 표현한다.

 

숫자의 계산은 1+1로 표현하면 2로 출력된다.

덧셈 : +, 뺄셈 : -, 곱셈 : *, 나눗셈 : /

 


5.2. PHP와 문자열

 

문자열을 출력할 때는

'Hello "w"orld' -> Hello "w"orld로, 

"Hello 'w'orld" -> Hello 'w'orld로

"Hello \"w\"orld" -> Hello "w"orld로 출력한다.

"Hello"."world" -> Hello world로 출력한다. '.'을 통해서 좌항과 우항을 결합할 수 있다.

문자열의 길이를 알고 싶을 때는 strlen()함수로 감싸주면 된다.

 


6. PHP의 변수

 

변수를 $로 표시한다. 따옴표로 묶여있지 않고, 앞에 $로 표시된 건 변수라고 생각하면 된다.

일부만 바꾸고 싶을 때는 바꾸는 부분만 변수화하면 된다. 그러면 바꾸지 않을 부분은 " "으로 끊어주고, 바꾸는 부분은 $을 이용해서 변수로 만들고, '.'이라는 결합연산자를 변수 양옆에 사용하고 $변수이름을 쓰면 된다.

 


7.1. PHP의 URL 파라미터

 

 <?php echo $_GET['name']; ?>를 이용해서 입력값을 url로 줘서 url에서 결과를 달리 하면서 출력할 수 있다.

 


7.2. URL 파라미터의 활용

 

url의 id 값이 무엇이냐에 따라서 현재 페이지의 제목이 무엇인가를 구할 수 있다.

url 주소를 <a>태그에 집어넣음으로써, url의 파라미터 id값이 무엇이냐에 따라서 자동으로 제목을 프로그래밍적으로 만들 수 있다.

 


 

8.1. 함수의 사용

 

함수를 쓰는 방법보다 다른 사람이 만들어 놓은 함수를 사용하는 방법부터 배워야 한다.

 

strlen()이라는 함수는 괄호 안으로 들어온 입력 값을 내부적으로 복잡한 과정을 거쳐서 계산한 다음에 그 결과를 자기 자신으로 교체하는 함수이다.

ex) echo strlen($str)

 

nl2br()이라는 함수는 괄호 안에 들어오는 라인을 br로 바꾸는 함수이다. 즉, 자동으로 줄바꿈을 하는 함수이다.

ex) echo nl2br($str)

 


8.2. 함수의 활용

 

file_get_contents()이라는 함수는 파일의 컨텐츠인 함수를 부품으로 사용해서 파일을 원하는 형태에 가깝게 만들 수 있다.

 


9. 제어문 예고

 

  조건문은 시간의 순서에 따라서 코드가 실행이 되다가 어떤 조건에 따라서 서로 다른 시간의 순서에 흐름에 따른 작업이 실행되도록 하는 것이다.

 반복문은 시간의 순서에 따라서 기능이 진행되다가 조건을 만족하는 동안 어떠한 작업들이 반복적으로 실행되게 하는 것이다.

 즉, 컴퓨터는 기본적으로 시간의 순서에 따라서 실행되는데 그 흐름을 제어해서 조건에 따라서 다르게 동작하게 하는 것이 조건문이고, 반복해서 동작하게 하는 것이 반복문이다. 그래서 조건문과 반복문은 컴퓨터가 가지고 있는 시간의 순서의 흠름을 제어한다는 측면에서 제어문이라고 부를 수 있다.

 


11. Boolean과 비교 연산자

 

Boolean은 true, false라는 단 두 개의 데이터 타입으로 이루어져 있다.

&amp은 &을 의마한다.

var_dump()는 괄호 안에 들어온 글자의 데이터 타입과, 몇 글자인지를 알려주는 함수이다.

 


12. 조건문의 형식

 

조건문을 사용하면 실행되는 순서의 흐름을 바꿀 수 있다.

 

if (표현식(=값)) {

  a

}

-> 중괄호 안의 값이 true라면 a가 실행되고, false라면 a가 실행되지 않는다.

 

if (표현식(=값)) {

  a

} else {

  b

}

-> 중괄호 안의 값이 true라면 a가 실행되고, false라면 b가 실행된다.

 


13. 조건문의 활용

 

isset()은 괄호 안의 값이 있으면 true를, 없으면 false를 반환하는 함수이다.

01


14. 반복문 예고

 

데이터 디렉토리에 파일이 추가되면 그것을 php가 알아서 인식해서 태그를 생성해준다면, 파일만 추가하면 그 파일이 추가되었다는 것을 php가 인식하고 html을 자동으로 만들어 줄 수 있고, 그걸 반복문을 이용해서 해결할 수 있다.

이 php 코드를 통해서 데이터 디렉토리에 있는 파일 목록을 하나하나 반복해서 꺼내서 <li>태그를 생성한다면 수동으로 수정하지 않아도 수정할 수 있다.


15. 반복문의 형식

 

if (expr)

  statement

 

whie (expr)

   statement

 

if문 자체는 값이 되지 않는다. 이런 걸 문법적으로 statements라고 부른다.


16. 배열의 형식

 

배열은 반복문과 뗄 수 없는 관계이다.

array("a", "b", "c", "d");  : 배열의 형식

$array1 = array("a", "b", "c", "d"); 이라고 하면 array1은 배열을 담는 변수가 되고, 배열의 이름이 된다.


17. 반복문과 조건문의 활용 1, 2, 3

 

scandir()이라는 함수를 통해서 데이터라고 하는 디렉토리 안에 있는 파일 목록을 가져올 수 있고, 그렇게 가져온 파일 목록은 배열에 담아서 우리에게 주기 때문에 배열은 이렇게 서로 연관된 데이터를 담는 그릇으로써 많이 사용된다.

 

반복문을 이용해서 자동으로 목록을 추가하도록 코드를 작성할 수 있다.

 

while()문 안의 값을 수정해서 좀 더 편리하게 목록을 추가할 수 있다.

 

'22-여름방학 > 웹 해킹(WEB HACKING)&웹 기초' 카테고리의 다른 글

웹해킹_3주차 정리  (0) 2022.07.24
웹기초_3주차 정리  (0) 2022.07.24
웹해킹_2주차 정리  (0) 2022.07.17
웹기초_2주차 정리  (0) 2022.07.17
웹해킹_1주차  (0) 2022.07.12