오피스 멀티뷰어 자료실 게시판 > 그누보드5 스킨

그누보드5 스킨

좋은 댓글과 좋아요는 제작자에게 큰힘이 됩니다.

오피스 멀티뷰어 자료실 게시판 정보

게시판 오피스 멀티뷰어 자료실 게시판

첨부파일

office_viewer.zip (587.7K) 318회 다운로드 2021-06-22 22:41:39
테스트한 버전5.4.8
호환 가능 버전아마도 모두

본문

예전 pdf/ppt 뷰어 게시판의 업그레이드입니다. https://sir.kr/g5_skin/45146

뷰어가 가능한 파일은 총 18개입니다.

 

"pdf", "docx", "docm", "dotm", "dotx", "doc", "xlsx", "xlsb", "xls", "xlsm", "pptx", "ppsx", "ppt", "pptm", "potm", "ppm", "potx", "ppsm"

 

예전과는 다르게 단일파일이 아니라 여러개의 파일을 올리면 자동으로 리스트가 만들어지면서 리스트를 클릭하면 뷰어 화면이 바뀌고 또 각 파일의 다운로드가 가능하도록 하였습니다.

다운로드 권한은 관리자모드에서 결정해 준대로 따라갑니다.

또한 파일 확장자에 체크하는 옵션 없이 바로 문서 꼬랑지의 파일 확장자를 읽어서 자동으로 뷰어가 가능하도록 하였습니다.

 

988289629_1624325659.0078.jpg

 

리스트는 본인이 첨부한 파일 이름이 그대로 올라갑니다.

위에서 언급한 18개의 종류 이외의 파일도 업로드는 가능합니다만 뷰어로 표현되지는 않고 다운로드만 가능합니다.

그리고 18개 이외의 파일은 뷰어 영역에서 표현이 불가능하다는 이미지가 뜨도록 하였습니다.

 

주의사항입니다. 이미지 자료파일은 해당되지 않습니다. 이미지 자료를 공유하려면 압축파일로 만들어서 업로드 하세요.

 

위에서 파란색 테두리 안에 표기된 숫자는 각 파일의 세로 퍼센트입니다. 가로를 100%에 적합한 퍼센트를 입력해 주세요. 만일 5개 파일이면 5개 중간에 쉼표를 찍으면서 배열처럼 입력합니다.

 

125, 77.5, 125, 50, 125

 

마지막 숫자에는 쉼표를 넣지 않습니다.

 

18개 형식 이외에 해당하지 않는 안내 이미지는 세로값을 50으로 주었습니다. 아예 안 보이게 하려면 0을 주면 되고 본인이 이 이미지를 직접 만들고 싶으면 스킨 디렉토리의 none.jpg 이미지를 바꾸어 주세요.

퍼센트로 표현하기 쉬우려면 가로를 1000픽셀로 만들어 주는 것이 계산하기가 편합니다.

1000-700 이미지를 만들었으면 70 으로 입력하면 되니까요.

 

본문을 사용하기 싫다면 본문숨기기 체크 후 아무 글자나 입력하고 작성완료를 누르세요.

유용하게 사용될 수 있다고 생각하시는 분은 격려 댓글과 좋아요 추천 부탁드립니다.^^

 

-------------------- [ 추가사항 ] --------------------

 

본인의 집이나 직장 등에서 넷하드 같은 것에 그누를 설치한 경우 포트번호가 주소 부분에 들어가면 마소의 오피스 뷰어가 보이지 않을 수도 있습니다. 그럴 때는 아래처럼 소스를 수정하여 구글의 오피스 뷰어로 바꿔주시기 바랍니다.

 

pc 나 모바일이나 소스는 약간 다르지만 office.php 의 <script> 첫줄에부터 약 10번째 줄까지 보면 아래와 깉은 부분이 있습니다.
officeList 배열과 viewerFile() 함수인데...

officeList = [".pdf", "docx", "docm", "dotm", "dotx", ".doc", "xlsx", "xlsb", ".xls", "xlsm", "pptx", "ppsx", ".ppt", "pptm", "potm", ".ppm", "potx", "ppsm"];
function viewerFile() {
    officeNumber = 0;
    for (office in officeList) if (officeList[office] == arguments[0].toLowerCase().slice(-4)) officeNumber += 1;
    if (officeNumber < 1) viewerOffice = "<img style=display:block;width:100% src=" + "<?php echo $board_skin_url."/none.jpg"; ?>" + ">";
    else if (arguments[0].toLowerCase().slice(-4) == ".pdf") viewerOffice = "<iframe id=viewerIframe src=https://docs.google.com/gview?url=" + arguments[0] + "&embedded=true frameborder=0></iframe>"; 
    else viewerOffice = "<iframe id=viewerIframe src=https://view.officeapps.live.com/op/embed.aspx?src=" + arguments[0] + " frameborder=0></iframe>";
    viewerDiv.innerHTML = viewerOffice;
    viewerDiv.style.paddingBottom = arguments[1] + '%';            
}

pc 와 모바일 모두 이 부분을 삭제하거나 주석처리 하시고 아래의 코드로 바꿔주세요.

officeList = [".pdf", ".ppt", "pptx", ".doc", "docx", ".xls", "xlsx"];
function viewerFile() {
    officeNumber = 0;
    for (office in officeList) if (officeList[office] == arguments[0].toLowerCase().slice(-4)) officeNumber += 1;
    if (officeNumber < 1) viewerOffice = "<img style=display:block;width:100% src=" + "<?php echo $board_skin_url."/none.jpg"; ?>" + ">";
    else viewerOffice = "<iframe id=viewerIframe src=https://docs.google.com/gview?url=" + arguments[0] + "&embedded=true frameborder=0></iframe>"; 
    viewerDiv.innerHTML = viewerOffice;
    viewerDiv.style.paddingBottom = arguments[1] + '%';            
}

이건 "pdf", "ppt", "pptx", "doc", "docx", "xls", "xlsx" 7개의 파일만 구글독스 뷰어로 표현됩니다.

 

추천
32

댓글 전체

세가지파일을 올려봤는데 하나만 보이는데요? 세로비율 설정을 잘못했을까요?
http://dongil365.kr/bbs/board.php?bo_table=pdfppt&wr_id=11
저는 다 잘 보이는데요?
그리고 배열을 65, 65 로만 주셨네요. 이미지는 이 이미지의 경우는 50 으로 주셔야 되거든요.
65, 65, 50 이렇게 적으셔야 합니다. 그리고 마지막 부분은 , 를 넣지 않아여 하구요.
혹 브라우저를 무엇으로 사용하시는지... 저는 크롬 기준으로 만들었어요.
한글파일은 수정이 필요한 파일이 아니라면 pdf 로 변환해서 올리는 것도 일책입니다.
정말 잘됩니다.
잘 활용해서 업무를 쉽고 빠르게 할 수 있도록 할께요~
너무 고맙습니다.
판매 프로그램도 못따라올 퀄리티입니다.
제가 생각해도 잘 만들었습니다.ㅋ
소스코드는 따로 office.php 를 만들어서 기본문서에서 인클루드 한 것이라 고치고 싶은 부분은 거기에서 고쳐 쓰세요.
감탄하고 있습니다.
본업은 웹과 관련이 없은 일을 하고 있어서 외부에서 핸드폰으로 스킨을 보고, 집에 와서 적용을 해보고 있는데요.
office.php 이 파일이 핵심인 것으로 보입니다.
자바스크립트로 코드를 짜신 것 같은데요.
office.php는 직접 짜신 거에요?
대단하십니다.
보기만 해도 현기증이 납니다. 자바스크립트는 다른 사람이 짠 코드를 겨우 읽고 숫자만 바꿀 줄 아는 수준이라서요^^
잘 쓰겠습니다. 감사합니다.
어이쿠 과찬이십니다. 이거 기껏해야 50줄 짜리인데요...
저는 프론트 날코딩이 취미입니다. 제이쿼리나 기타 다른 라이브러리 등을 하나도 쓰지 않습니다.
백언어를 즐기지 않다 보니 php 의 정보만 겟변수나 echo 로 받아서 자바 스크립트에서 새롭게 함수와 변수를 정의해 주는 게 제게는 편하더라구요.
어떤 정보가 넘어오더라도 배열에 담거나 동일 패턴 변수로만 정리해 주면 그리 어려운 건 없어요. 문제는... 그 문지방을 넘기가 쉽지 않아요. 그러나 그 문지방만 넘으면 이런 소스는 아주 평범한 코드입니다.
에고 지금보니 listTd 의 스타일에서 text-align:center 를 두번 주었네요...
이 글 보시는 분들은 pc 와 모바일의 그 부분을 하나씩 지워주세요.
지금 새로 압축해서 올렸습니다.ㅜㅠ
한글파일은 안열리는데, 확장자가 hwp로 되어서 그런가요?
그래서 한글 확장자를 hwpx로 변경을 지원한다고 하는데, 확장자를 hwpx로 바꾸어서 하면 한글이 열릴까요?
아니요 안 열릴 거에요. 그냥 다운로드 받아 열거나 아니면 압축하거나 또는 pdf 로 변환하거나 해야 합니다.
https://hanlee.io/hwp.js/ 한글파일을 열 수 있는 플러그인인데 적용하려 하다 보니 쉽지 않은 부분도 있는데다... 또 아직 불완전해서 순서와 목록을 제대로 읽지 못하는 경우가 종종 있고 좌표도 다르게 나올 때가 있어요.
여튼 hwp 파일을 온전하게 웹으로 표현할 수 있는 여건이 되면 마지막 업그레이드를 하겠습니다.
좀 꼼수를 써서 뷰어일 때는 pdf 로 열리고 다운로드는 한글로 받을 수 있는 방법도 있지만... 차차 고민해 봐야겠지요. 이럴 경우 2개 파일의 업로드가 필요합니다.
스킨을 받아서 적용을 해보았습니다. 오류가 자꾸 발생해서 구글링을 해보니
http://주소:포트번호/이하주소+ +파일명.xls 처럼 중간에 포트번호가 있는 것은
파일을 읽어드릴수 없다고 나옵니다. 네트워크 단을 보면 string.js 가 404로 되어버리구요.
혹시 이런 현상이 있을 때 해결 할 수 있는 방법이  있을까요?
그렇다고 포트번호(4000)을 80으로 할 수 도 없는 상황인지라..
괜찮으시면 개발자께서 포트번호 임의로 넣어셔서 같은 증상이 일어나는지 확인이
가능할까요? 같은 결롱 이라면 ... 포트번호는 없는 사이트만 되는 것으로
알고 있겠습니다.  참 사용하고 싶은 스킨이지만.. 아쉽게 될듯합니다.ㅠㅠ
코드보고 열심히 공부는 잘했습니다. 감사합니다.
1. 뷰어에만 나오지 않고 리스트 출력이나 다운로드에는 이상이 없는지요?
2. 뷰어에도 안 나오고 리스트 출력 이나 다운로드도 안 되는지요?

1번만의 증상이라면 비교적 쉽고 2번의 증상이라면 약간 더 까다롭긴 해도 충분히 가능합니다. 단 2번의 경우 원클릭 다운로드는 많은 곡예를 부려야 합니다.

일단 1번과 2번 어느 쪽이라도 다음블로그나 티스토리에 파일을 업로드하고 그 주소들을 여분필드에 배열형식으로 붙여넣는 방법을 쓰면 됩니다.
그런데 주소가 길 경우 255자를 넘어설 확률이 높아 여분필드 테이블의 속성을 바꾸거나 아니면 글쓰기 입력폼을 여분필드처럼 사용해야 합니다.

1번의 경우라면 수정이 별로 어렵지는 않습니다만 2번의 경우는 파일의 제목도 직접 여분필드에 입력해야 하는 번거로움이 있습니다.

1번인지 2번인지를 먼저 대답해 주십시오.
안녕하세요. 제가 올린 문의 내용에 대한 답변을 드립니다.
1번 처럼 뷰어는 안되지만 다운로드는 잘됩니다. 2번은 해당되지 않습니다.
그리고 링크 주소를 3가지 모두 테스트 해보았습니다.

1) https://view.officeapps.live.com/op/embed.aspx?src=http://ntree.ddns.net:4000/add_pretest.xls
2) https://view.officeapps.live.com/op/view.aspx?src=http://ntree.ddns.net:4000/add_pretest.xls
3) https://docs.google.com/a/umd.edu/viewer?embedded=true&url=http://ntree.ddns.net:4000/add_pretest.xls

위처럼 1),2)는 포트번호가 들어 있어서 그런지 "오류발생"이 나오며,
3)의 경우는 구글에서는 바로 읽어 드립니다.
아마도 src 와 url의 차이로 보입니다.

제짧은 생각은 포트번호가 있는 것은 구글로 해야 되고, 포트번호가 없는 것은 office에서
구동되는 것으로 판단됩니다.
처음에 저도 같은 증상으로 질의를 하였었는데
확인결과 www에서 도메인을 못찾아서 그런 결과가
나왔습니다.
www에 등록된 도메인이면 포트번호 관계없이 잘 됩니다.
외국 아이피를 차단하여도 안됩니다.
pc 나 모바일이나 소스는 약간 다르지만 office.php 의 <script> 첫줄에부터 약 10번째 줄까지 보면 아래와 깉은 부분이 있습니다.
officeList 배열과 viewerFile() 함수인데...

officeList = [".pdf", "docx", "docm", "dotm", "dotx", ".doc", "xlsx", "xlsb", ".xls", "xlsm", "pptx", "ppsx", ".ppt", "pptm", "potm", ".ppm", "potx", "ppsm"];
function viewerFile() {
	officeNumber = 0;
	for (office in officeList) if (officeList[office] == arguments[0].toLowerCase().slice(-4)) officeNumber += 1;
	if (officeNumber < 1) viewerOffice = "<img style=display:block;width:100% src=" + "<?php echo $board_skin_url."/none.jpg"; ?>" + ">";
	else if (arguments[0].toLowerCase().slice(-4) == ".pdf") viewerOffice = "<iframe id=viewerIframe src=https://docs.google.com/gview?url=" + arguments[0] + "&embedded=true frameborder=0></iframe>"; 
	else viewerOffice = "<iframe id=viewerIframe src=https://view.officeapps.live.com/op/embed.aspx?src=" + arguments[0] + " frameborder=0></iframe>";
	viewerDiv.innerHTML = viewerOffice;
	viewerDiv.style.paddingBottom = arguments[1] + '%';			
}

pc 와 모바일 모두 이 부분을 삭제하거나 주석처리 하시고 아래의 코드로 바꿔주세요.

officeList = [".pdf", ".ppt", "pptx", ".doc", "docx", ".xls", "xlsx"];
function viewerFile() {
	officeNumber = 0;
	for (office in officeList) if (officeList[office] == arguments[0].toLowerCase().slice(-4)) officeNumber += 1;
	if (officeNumber < 1) viewerOffice = "<img style=display:block;width:100% src=" + "<?php echo $board_skin_url."/none.jpg"; ?>" + ">";
	else viewerOffice = "<iframe id=viewerIframe src=https://docs.google.com/gview?url=" + arguments[0] + "&embedded=true frameborder=0></iframe>"; 
	viewerDiv.innerHTML = viewerOffice;
	viewerDiv.style.paddingBottom = arguments[1] + '%';			
}

이건 "pdf", "ppt", "pptx", "doc", "docx", "xls", "xlsx" 7개의 파일만 구글독스 뷰어로 표현됩니다.
안녕하세요
제가 현재 운영중인 사이트는 중국에 있어서 구글이 막혀있습니다. 이러하기 때문에
마소의 뷰어가 딱 좋은 상황인지라.. 구글뷰어는 사용을 못합니다.ㅠㅠ
그리고 www 사용하는 곳은 no-ip.com 을 사용하는 중이어서
"www에서 도메인을 못찾아서 그런 결과" 이 부분은 아무리 생각해도 아닌듯 합니다.
즉 다운로드는 되니까 말이죠.
여기저기 구글링을 해보면 마소에 링크를 넘겨줄려면 반드시 포트번호 없는 주소만
되는 것으로 보입니다.

그리고 참고로 위의 주소 링크는 더이상 사용할 수 없습니다.
보안상 삭제 되었습니다.
음... 그런 상황이군요.
알겠습니다. 우회하는 통로를 생각해 보지요. 마소로 넘겨주는 파일주소 부분만 포트번호 없는 사이트로 업로드하고 그 포트번호 없는 주소를 배열형식으로 받아서 변수를 replace 하여 재로딩시키거나 조건문으로 처리하거나 등등 하면 될 꺼에요.
이 게시판도 처음 만들었던 때와는 달리 점점 경우의 수가 많아지네요.ㅋ
다음주 쯤에 한번 더 버전업하겠습니다.
정말 확장성은 어디까지인지? 상상이 안가는군요.
대단한 그누보드와 대단한 분이 만나 빛을 보는것 같습니다.
저는 일반 사용자지만 개발되는 것들을 지켜보니 이런스킨은 정말 최상위 레벨 같습니다.
공개해 주셔서 감사합니다.
칭찬해 주시니 감사합니다.
그누 게시판은 정말 잘 만들어진 것이라 기본 구조만 파악되면 개발자의 개성을 삽입시키기가 참으로 편한 프로그램입니다.
저보다는 냑의 리자님과 개발팀의 노고가 더 크시지요.
저 역시 코드를 짤때 객체지향 보다는 절차지향으로 짜는 편이라 그 점도 궁합이 잘 맞구요.
모바일에서 비회원은 글쓰기버튼이 없는데 write.php를 켜서 입력하면 입력이 잘되네요..
css도 문제없는거같은데 뭐가문제일까요
관리자나 회원은 잘나옵니다..
반응형웹이고 현재게시판만 그러네요 ..
글쎄요... 저는 어느 것을 들어가도 별 이상이 없습니다만...

http://www.mediaplayer.kr/main/bbs/write.php?bo_table=viewer
http://www.mediaplayer.kr/main/viewer/write

정 이상이 발생한다면 모바일의 write.skin.php 를 아예 없애거나 아니면 모바일 작성은 불가능합니다. 라는 메시지만 띄우고 pc 에서만 작성하는 방식으로 맞추셔야 할 것 같아요.
제가 이상이 보이질 않으니 뭐라고 답변을 못 드리겠네요.ㅜㅠ

만일 그래도 계속 문제가 생기면 write.skin.php 에서 레벨이 2 미만이라면 login.php 로 주소를 돌려버리는 조건문을 하나 걸어주세요.
비타주리 님  좋은 자료 감사합니다~~~^^*

추천 꾹~~~ 눌렀습니당~~^^

만년 세네기 화이팅여 입니다~

적용을 해보니까 궁금한것이 있어서 문의드려봅니다~

[wr_10] 게시판 본문 내용 숨기기, 또는  본문 내용 보이기      기능인데요~

wr_10 에
<script>bo_v_con.innerHTML='';bo_v_con.style.display='none'</script>  이렇게 저장이 되던데요~

이 부분은 스크립트를 넣어 주는 이유가 궁금해서 문의드려봅니다~~
제가 잘못 적용을 해서
<script>bo_v_con.innerHTML='';bo_v_con.style.display='none'</script>  이렇게
저장이 되는것인지 잘~ 모르겠습니다~

write.skin.php 부분 wr_10 아래 내용 부분 인것같은데요


<div class="frm_input full_input" style=padding:10px;margin-top:10px>
<input type=radio name=wr_10 value="<script>bo_v_con.innerHTML='';bo_v_con.style.display='none'</script>"<?php echo ($write['wr_10'] == "<script>bo_v_con.innerHTML='';bo_v_con.style.display='none'</script>") ? " checked" : ""; ?> required> 본문숨기기
<input type=radio name=wr_10 style=margin-left:5px value=""<?php echo ($write['wr_10'] == "") ? " checked" : ""; ?> required> 본문보이기
</div>




항상 좋은 자료 공개해주셔서 감사한 마음으로 사용해보고 있습니다.

비타주리님 감사합니다~~*^____^*;
에디터에서 설명 드릴게요. 아래 링크 열고 직접 좌측창에 입력하고 결과보기 하면서 확인하시기 바랍니다.
http://www.mediaplayer.kr/main/bbs/html_editor.php

그누보드의 view.php 는 대충 아래의 구조로 되어 있지요.

<div>제목</div>
<div id="bo_v_con">본문내용</div>
<div>댓글</div>

시각화를 위해 본문내용 div 에 테두리와 가로 세로를 줄게요.

<div>제목</div>
<div id="bo_v_con" style="width:500px;height:300px;border:1px solid #cccccc">본문내용</div>
<div>댓글</div>

여기에 스크립트를 하나 줍니다. 스크립트의 내용은 "bo_v_con" 이라는 아이디를 가진 엘레먼트의 html 내용물을 진공으로 만들겠다는 뜻입니다. bo_v_con.innerHTML=''

<div>제목</div>
<div id="bo_v_con" style="width:500px;height:300px;border:1px solid #cccccc">본문내용</div>
<script>bo_v_con.innerHTML=''</script>
<div>댓글</div>

그런데 이것만 으로는 부족하죠. 테두리와 가로 세로 영역이 남아 있으니까요. 그래서 그 엘레먼트를 아예 안 보이게 하는 옵션까지 준 거지요. bo_v_con.style.display='none'

<div>제목</div>
<div id="bo_v_con" style="width:500px;height:300px;border:1px solid #cccccc">본문내용</div>
<script>bo_v_con.innerHTML='';bo_v_con.style.display='none'</script>
<div>댓글</div>

여기서 그럼 왜 <script>bo_v_con.style.display='none'</script> 만 주면 되지 굳이 내용물까지 없애느냐?
크롬의 F12 키를 누르고 소스보기를 하면 긴 소스에서는 내용까지 진공이고 짧은 소스에서는 내용물은 F12 에서는 만큼은 보이기 때문입니다.

물론 글쓰기에 입력된 내용은 DB에는 있습니다. 자바스크립트 삭제는 DB삭제가 아니라 프론트 삭제이기 때문이지요.
비타주리 님~~~
친절한 설명 감사합니다~~

아직~~  세네기 수준이어서 
이해 수준이 높지는 않지만~

새로운것 배우고, 많은 배움이 됩니다~~~

좋은 자료 사용하게 해주셔서 감사 감사 드립니다~ [꾸벅] *^_____^*;
이것도 마지막 버전업이 필요합니다.

그리고 동물원님 때문에 만들어 보고픈 게시판이 하나 더 생기긴 했습니다.
바로 일반 mp4 동영상이나 유튜브를 강의용 게시판으로 쓸 때 동영상을 다 보았나 안 보았나를 체크하여 이를 DB에 저장해 주고 결과물로 뿌려주는 게시판이죠.

동영상을 다 보지 않은 사람은 게시글에 들어올 때마다 "누구누구님 아직 강의를 다 듣지 않으셨습니다"가 나오고 동영상을 다 본 사람은 그 이후에 게시글에 들어오면 "누구누구님 강의를 다 들으셨습니다."가 동영상 아래로 출력되는 게시판이죠.

머리 속에서 코드가 난립 중입니다.ㅋ
아는 건 없는데 쓰다보면 궁금한건 많다보니 이것저것 황당한 질문도 많이 올리는데 SIR 고수님들 친절한 답변 덕분에 많이 배우고 도움받고 있네요. 항상 감사합니다.
비타주리님이 말씀해 주신 문제중에
뷰어에도 안 나오고 리스트 출력 이나 다운로드 항목도 안나오는 경우 서버에서 다른 설정을 해주어야 하는 부분이 있을까요?
https://www.marado.kr/free/1
출력이 안되어 문의드립니다.
그누는 5.4 버전이 가장 확실합니다. 5.3 부터는 제가 "아마도" 라는 단서를 붙였거든요.
또 소스를 봐 드리고 싶어도 그 게시글을 보려면 포인트가 필요하다고 나오네요. 비회원이 글을 읽을 때 포인트에 관한 설정을 바꿔 주셨으면 하네요.
그렇다고 제가 그 소스를 봐 드리자고 그 사이트에 회원 가입하여 포인트를 적립해야 하는 조건까지 만족시키면서 보아 드리기는 힘들 것 같거든요.

그리고 파일용량이 10메가가 넘어가면 지원이 안 되는 측면도 있을 거에요.
답변감사드립니다.
제가 미쳐 게시판 권한을 확인하지 못하고 질문을 드렸습니다.
죄송합니다.
여러가지 업로드 해보니 출력이 잘되는것도 있고 안되는 것도 있어
제가 좀더 해보고 다시 질문 드리도록하겠습니다.
바쁘신중에 자세한 답변 감사드립니다.
안녕하세요..

비타주리님의 " 우회하는 통로를 생각해 보지요. 마소로 넘겨주는 파일주소 부분만 포트번호 없는 사이트로 업로드하고 그 포트번호 없는 주소를 배열형식으로 받아서 변수를 replace 하여 재로딩시키거나 조건문으로 처리하거나 등등 하면 될 꺼에요"
에서 힌트를 얻어서...아래와 같이 작업한 내용을 .....

일단 마소 링크를 사용하기 위해서 이것저것 해 보고 나서 겨우 성공한 사례를 공유하고자 몇자 적어 봅니다.
현재 운용중인 사이트에 80포트가 막혀 있어서 다른 포트를 사용하는 경우를 기본으로 설정한 상태에서 입니다.
1. 네이버클라우드플랫폼에서 마이크로서버(1G/1CPU/50GHDD)를 생성(1년무료)
  -> CENTOS 7 + 아파치서버 + PHP 7.4 +INDEX.PHP + VSFTPD + 방화벽 FIREWALL
  -> 반드시 방화벽이 설치되어야 외부에 포트가 열립니다.
      (처음에 설치가 안되어 있어서 한 2일 삽질만 했다는..ㅠㅠ)
      열어야할 포트 : 80(http) / 20(vsftpd) / 21(vsftpd) / 22(ssh)
                            / 50001-500020(ftp passive) <-파일질라접속시 필요
  -> 확인 방법 : https://www.yougetsignal.com/tools/open-ports/ 여기서 포트 확인가능
2. 공인IP 설정 후 DDNS와 연동
3. 그누보드의 파일을 마이크로서버에 FTP로 전송(뷰어 할 파일만 전송)
  -> 키포인트 : 보내는 서버에서는 절대주소 C:/.../.../data/file/.....*.xls로 하시고
      받는 ftp는 상대주소 /var/www/html/data 혹은 /html/data 로 하셔야됩니다.
      보낼때는 http://..이거 안됩니다.(이부분 때문에 한나절 삽질..ㅠㅠ)
  -> 그누보드의 PHP에서 extension=ftp 를 주석해제 하시면 됩니다.
  -> ftp_upload 예제는 찾아보시면 많구요
      여기서 ftp_pasv()  [ftp passive mode진입] 사용하시면 업로드 안되고 에러 뱉습니다.ㅠㅠ
4. 마소링크에 마이크로서버 주소를 직접 입력(폴더는 고정시키고 파일명만 연동)
  -> ftp 업로드 폴더는 data로 고정했습니다.
      어차피 파일명은 그누보드에서 생성된 것이라 중복은 없을것으로 보고,
      뷰어 할때 마다 파일이 없거나 리스트를 가져와서 매칭이 안되면 재업하도록 하시면 되요

제가 그닥 빠릿하질 못해서 한 4일정도 걸린것 같습니다.
구글뷰어보다는 역시 마소로 링크를 보니.. 액면 그대로 엑셀 등을 홈페이지에서
바로 볼수 있다는 게..정말 좋네요.
여러분도 성공하시길 바랍니다.
** 마소는 반드시 80포트가 열려 있어야 한다고 DOC에 명시되어 있습니다.
수고 많이 하셨네요. 이걸 최종 업뎃 시켜야 하는데...
요즘 HOOK 을 가지고 놀다 보니 시간 가는 줄 모르겠어요.
너무 너무 고생하셨습니다.
정말 감사드립니다. 저에게 꼭 필요한 스킨입니다.
혹 예전 뷰어형식을 사용 할 수 있을까요? 전체화면이 어려워 여쭤봅니다.
안녕하세요 pdf 게시판 커스텀해서 잘쓰고있습니다. 근데 viewer mobile에서 pdf 를 미리보기 하니까 페이지 숫자부분의 레이아웃이 틀어져서 혹시 이부분을 제가 수정이 가능할까요?

혹시 다른 게시판에 이식해보려면, 어떻게 하면 될까요?

offce.php만 인크루드 해서는 안되던데... 방법 알려주시면 감사하겠습니다!

전체 2,423 |RSS
그누보드5 스킨 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT