왜 PHP인가?
나는 전산화 절차서라는 프로그램을 개발하였고 엔지니어들이 다운받아 간다. 서로 이익을 추구하는 뜻에서 고객은 이름, 이메일, 회사명을 남기도록 하여 제품 개선에 참조 한다. 이 글에서 다루는 내용은 파일 내려받기를 위한 PHP 예제이다.
아래는 사용자가 입력하는 표이고 제출 버튼을 누르면 고객 데이타베이스에 저장된다.(이 페이지의 표는 설명용으로 실제 데이타베이스에 연결되어 있지 않음)
당신은 ImPRO.zip을 선택했습니다. | |
Name | |
E-Mail | |
Company | |
표1 고객 정보 입력 |
그리고 나는 이렇게 수집된 데이타베이스를 다음 양식으로 살펴 보고 중복된 사람이 있다면 지운다.
Press to remove selected customers. | |||||
Name | Company | Date | File | ||
---|---|---|---|---|---|
AAA | aaa@aaa.CO.KR | aaa | 2002-08-05 11:08:14 | ImPRO.zip | |
BBB | bbb@bbbl.co.kr | bbb | 2002-08-03 02:08:34 | ImPRO.zip | |
CCC | ccc@ccc.co.kr | ccc | 2002-07-29 16:28:40 | ImPRO.zip | |
표2 고객 정보 목록 |
PHP를 사용하기 전에는공개된 PERL로 다운로드를 관리했다. 이 PERL의 CGI프로그램은 방대하기도 하고 또 정규식를 처리한다는 슬래시(/)의 괴상한 표현 때문에 늘 찝찝하였다. 이런 중에 저의 웹호스팅 업체가 PHP와 MySQL이라는 새로운 개발 환경을 언급하였다. 나는 본래 Java 개발 경험이 있기 때문에 JSP의 웹 개발환경이기를 바랬지만 비용 때문에 PHP에 따르기로 했다.
CGI 프로그램은 웹서버와 별개로 수행되기 때문에 웹서버 CPU에 부담이 될 수 있다. 그러나 PHP프로그램은 아파치 웹서버가 내장 해석기를 통하여 PHP 코드를 해석하므로 속도가 빠를 수 있다. 마이크로 소프트의 ASP나 선의 JSP도 PHP와 유사한 구조이다. 웹 클라이언트에게도 내장 해석기 개념이 적용되는데 JavaScript 언어이다. 이런 언어로 말미암아 결국 정적인 웹페이지가 동적으로 바뀐다.
개발 측면에서 보면 PHP 코드는 HTML의 한 Tag로 간주될 수 있으므로 HTML 문서 형태를 유지하는 반면에, PERL 코드에서는 HTML의 형식적 구성이 잘 보이지 않는다. HTML 문법에 익숙한 개발자에게는 PERL보다 PHP방식이 쉽다. 그러나 웹브라우저 입장에서 보면 PERL이나 PHP코드 부분은 웹 서버가 처리하여 표준 HTML문서로 전송되기 때문에 이 두 기법의 차이를 눈치채지 못한다.
PHP는 자료처리와 데이타베이스 접근을 위하여 다양한 함수를 제공하고 프로그램 흐름의 제어가 C와 유사하기 때문에 C 문법에 익숙한 나로써는 거부할 이유가 없었다.
다음 장에서는 다운로드 관리에 삽입된 PHP 코드에 대해 이야기 하겠습니다.