묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
hwp 한글파일 php 에서 파싱되나요 ?
2011.03.22 15:07
ㅇㅇ
엑셀은 된다는데
hwp 한글파일은 되나요 ??
정보가 있는 링크좀 알려주세요.
엑셀은 된다는데
hwp 한글파일은 되나요 ??
정보가 있는 링크좀 알려주세요.
질의하신 관련기능은 PHP나 ASP와 같은 서버사이드 스크립트 즉, 웹 프로그래밍 언어로는 가능하지
않습니다. Content type 이란 것을 이용하여 특정 어플리케이션을 지원하긴 하지만, 이것은 엄연히
HTML Header에 정의되는 일종의 규약을 이용한 것이죠.
하지만, 이 역시 HTML을 해석할때 특정 어플리케이션을 이용토록 정의하는 것 뿐이라서 HTML이 특정
어플리케이션에 종속적인 파일을 완벽 생성하기란 불가능합니다. 반대로 HTML을 한글이나 MS워드에서
읽어들이도록 한다는 정도의 기능이죠. 즉, 해당 페이지를 호출하면 클라이언트PC에 관련 어플리케이션이
설치되어 있을때, 해당 페이지는 브라우저가 아닌 한글이나 워드가 실행되어 읽혀지도록 하는 것 뿐입니다.
한글이나 MS워드와 같은 워드프로세서를 서버사이드에서 완벽히 지원하기 위해서는 두 어플리케이션이
사용하는 모든 서식체계가 테그로 정의되어 있어야 한다는 의미와 같은 소리인데 그러할 이유가 없겠죠.
또, 만일 이것을 지원한다면 한글 워드나 MS워드가 별도의 어플리케이션으로 존재하는 의미도 없을 것
입니다.
따라서, 질문자가 문의하신 내용은 DB에서 내용을 읽어 위에 도식으로 표현한 것과 같이 HTML로 출력
되도록 PHP 스크립트로 작성하신 후에 HTML Header에 Content type을 정의하여, 특정 클라이언트PC가
해당 페이지를 요청했을때, 브라우저에서 파싱이 되는 것이 아니라, 한글이 실행되어 한글에서 읽혀지도록
작성하게 되는 것 입니다.
사용자는 이렇게 읽어들인 HTML을 다른 이름으로 저장하기 기능을 이용하여 한글 문서로 자신의 PC에
별도의 hwp 파일로 저장하게 되는 것이죠.
즉, HTML 문서를 한글을 실행하여 읽은 후에 한글 문서 형식으로 저장하게 되는 것이지, 서버 측에서
스크립트 언어로 한글 문서를 작성하고 저장한 후 이것을 전송하는 것은 아닌 것 입니다.
이 방법역시 일정의 한계성을 지니고 있는데, Content type 정의는 클라이언트PC에 해당 어플리케이션이
설치되어 있고, 확장자가 실행파일과 연계되어 있을때만 의미가 있습니다. 물론 대부분의 프로그램은
설치와 동시에 자신이 사용하는 파일 확장자를 등록하도록 하지만, 사용자의 의도하지 않은 조작으로 인해
확장자와 실행프로그램 연결이 손상되거나 변형되어 있을 수 있습니다.(윈도우의 연결프로그램 설정 기능
등을 이용할 경우를 떠올리시면 됩니다) 이런 경우에는 해당 페이지를 호출했을때, 프로그램이 실행되는
것이 아니라 파일 다운로드 형태로 동작할 수 있습니다.
엑셀이나 다른 형태의 HTML 전송 역시 해당 프로그램 파일 형태로 제작하는 것이 아니라 HTML이 해당
프로그램에서 읽혀지도록 전송하는 형태일 뿐 입니다. 또, 그렇게 동작할 것으로 가정하고 해당 페이지를
작성하는 것일 뿐이죠.