일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- C++ 언어 # 핵심 정리
- HTML #핵심정리
- MySQL #핵심정리
- Bandit
- shell_script
- C++ 언어 # 핵심정리
- Hacking #Baic
- C언어 #부록
- C++ 언어 #핵심정리
- C언어 #핵심정리
- C언어 # 핵심 정리
- C언어 # 부록
- PHP #핵심정리
- Today
- Total
cCcode
PHP [핵심정리] - 1 본문
저는 Bitnami를 사용해서 php를 작성할 예정입니다. php는 이미 설치했지만 php가 제대로 설치되었는지 확인하기 위해 임의로 test.php 파일을 만들어 확인하겠습니다. test.php 파일은 apache2 > htdocs 폴더에 저장해야 합니다. 왜냐하면 브라우저가 웹서버(Bitnami로 설치한)에 어떠한 정보를 요청하면 웹서버는 htdocs 폴더에서 그 정보를 찾기때문입니다.
음.. 잘 나오는 걸 보니 정상적으로 설치되었네요.
1. PHP의 원리
사용자가 요청한 파일의 확장자가 .html일 경우에 웹서버는 파일을 그대로 읽어서 그대로 전송합니다. 즉, 한번 index.html이라는 웹 페이지를 만들었다면 그것은 언제나 같은 정보를 보여줍니다.
사용자가 요청한 파일의 확장자가 .php가 되면 웹서버는 자신이 그 파일을 처리할 수 없다는 걸 알고, php에게 파일을 위임합니다. 그럼 php는 index.php라는 파일을 열어보겠죠?
3줄까지는 일반적인 html문서 형식과 동일합니다. 그래서 php는 이 부분을 건들지 않습니다. 그런데 php가 시작된다는 걸 알려주는 약속 <?php가 나오면 php는 이제부터 php언어의 문법이 나오겠다는 판단하에 그 다음에 나오는 코드들을 php 문법에 따라 해석합니다.
위 코드 중 echo date('Y-m-d H:i:s');는 년,월,일,시,분,초 형식(여기서 분이 minute이지만 month(월)와 겹치므로 그 다음 머리글자인 i를 사용합니다.)에 따라 현재 시간(data)를 출력(echo)하라는 의미입니다. 그럼 php는 이 코드들을 다음과 같이 수정(해석)합니다.
그 후 php가 끝나는 코드 ?>가 나오면 이후 코드들은 그대로 둡니다. 그래서 만들어진 결과를 웹서버에게 보내면 웹서버는 그걸 다시 웹 브라우저에게 보냅니다. 이 때 웹 브라우저는 php코드가 없는 순수한 html로만 이루어진 결과를 받기 때문에 php의 여부와는 상관없이 html을 화면에 표시합니다.
기본적으로 html은 한번 파일이 생성되면 언제나 같은 결과를 출력하지만 php는 프로그래밍적으로 웹페이지를 생산할 수 있어 새로고침할 때마다 달라지는 웹페이지를 동적으로 생성할 수 있습니다.
결론 - Html은 정적이고 PHP는 동적이다.
'PHP Basic' 카테고리의 다른 글
PHP [핵심정리] - 2 (0) | 2021.05.19 |
---|