- 맥 오라클설치
- 타임피커
- jquery 바코드생성
- asp.net core Select
- ViewBag
- XSS PHP
- 바코드 생성하기
- javascript 바코드스캔
- Mac Oracle
- ASP.Net Core 404
- ViewData
- 하드 마이그레이션
- SSD 복사
- javascript 바코드 생성
- 바코드 스캔하기
- 하드 윈도우 복사
- javascript redirection
- jquery 바코드
- XSS방어
- javascript 유효성체크
- 말줄임표시
- asp.net dropdownlist
- php 캐쉬제거
- asp.net Select
- 파일업로드 체크
- 강제이동
- django 엑셀불러오기
- 파일업로드 유효성체크
- 404에러페이지
- TempData
웹개발자의 기지개
[PHP, Javascript] 네이버 스마트에디터2 - 사진첨부 기능 포함(PHP업로드) , 글쓰기파일 본문
[PHP, Javascript] 네이버 스마트에디터2 - 사진첨부 기능 포함(PHP업로드) , 글쓰기파일
http://portfolio.wonpaper.net 2019. 1. 3. 10:15이번에는 많이들 사용하는 네이버 스마트에디터2를 달아 보도록 한다.
공개된 관련 소스 링크 주소는 https://github.com/naver/smarteditor2/releases/tag/v2.8.2.3 이다.
내용중에 zip로 압축된 Source code(zip) 항목을 클릭하여 다운받으면 된다.
압축을 풀고, 파일을 올려보자.
나의 경우 /smarteditor2/폴더를 root에 만들고 이안에 옮겨놓았다. 그리고, 위 화면의 upload 폴더에 chmod 707 쓰기 권한을 두도록 하자.
이 upload는 사진 첨부할때 업로드되는 폴더이다.
그리고 아래 화면과 같이 /smarteditor2/sample/photo_uploader/ 폴더내 소스확인 및 수정이 필요한 부분을 살펴보자.
화면과 같이 file_uploader.php 파일과, file_uploader_html5.php 를 소스를 열어보자.
file_uploader.php
file_uploader_html5.php
위 화면을 보면 /smarteditor2/upload 폴더의 사진업로드 경로를 잡아준다. 이로써 에디터내에서 올린 사진링크가 잘 적용되도록 해준다.
이제 에디터 소스올리고, 준비과정은 끝이 났다.
본격적으로 에디터를 글쓰기할때 적용시켜 보도록 한다.
notice_write.php 라고 글쓰기 파일내에 주요 소스 부분들을 간추려 보았다.
<script type="text/javascript" src="/smarteditor2/js/HuskyEZCreator.js"></script> <textarea name="content" id="content" rows="10" cols="100" style="width:680px; height:300px; display:none;"></textarea> <a href="javascript:submitContents(this)"><img src="버튼이미지" border=0></a> <script language="javascript"> var oEditors = []; var sLang = "ko_KR"; // 언어 (ko_KR/ en_US/ ja_JP/ zh_CN/ zh_TW), default = ko_KR // 추가 글꼴 목록 //var aAdditionalFontSet = [["MS UI Gothic", "MS UI Gothic"], ["Comic Sans MS", "Comic Sans MS"],["TEST","TEST"]]; nhn.husky.EZCreator.createInIFrame({ oAppRef: oEditors, elPlaceHolder: "content", sSkinURI: "/smarteditor2/SmartEditor2Skin.html", htParams : { bUseToolbar : true, // 툴바 사용 여부 (true:사용/ false:사용하지 않음) bUseVerticalResizer : true, // 입력창 크기 조절바 사용 여부 (true:사용/ false:사용하지 않음) bUseModeChanger : true, // 모드 탭(Editor | HTML | TEXT) 사용 여부 (true:사용/ false:사용하지 않음) //bSkipXssFilter : true, // client-side xss filter 무시 여부 (true:사용하지 않음 / 그외:사용) //aAdditionalFontList : aAdditionalFontSet, // 추가 글꼴 목록 fOnBeforeUnload : function(){ //alert("완료!"); }, I18N_LOCALE : sLang }, //boolean fOnAppLoad : function(){ //예제 코드 //oEditors.getById["content"].exec("PASTE_HTML", ["로딩이 완료된 후에 본문에 삽입되는 text입니다."]); }, fCreator: "createSEditor2" }); function pasteHTML(filepath) { // var sHTML = "<span style='color:#FF0000;'>이미지도 같은 방식으로 삽입합니다.<\/span>"; var sHTML = '<span style="color:#FF0000;"><img src="'+filepath+'"></span>'; oEditors.getById["content"].exec("PASTE_HTML", [sHTML]); } function showHTML() { var sHTML = oEditors.getById["content"].getIR(); alert(sHTML); } function submitContents(elClickedObj) { oEditors.getById["content"].exec("UPDATE_CONTENTS_FIELD", []); // 에디터의 내용이 textarea에 적용됩니다. // 에디터의 내용에 대한 값 검증은 이곳에서 document.getElementById("content").value를 이용해서 처리하면 됩니다. try { var form2 = document.f; if (!form2.name.value) { alert("작성자 이름을 입력해 주십시오"); form2.name.focus(); return; } if (!form2.subject.value) { alert("글제목을 입력해 주십시오."); form2.subject.focus(); return; } if (document.getElementById("content").value=="<p><br></p>") { alert("내용을 입력해 주세요."); oEditors.getById["content"].exec("FOCUS",[]); return; } form2.action="notice_write_ok.php"; //elClickedObj.form.submit(); form2.submit(); } catch(e) {alert(e);} } function setDefaultFont() { var sDefaultFont = '궁서'; var nFontSize = 24; oEditors.getById["content"].setDefaultFont(sDefaultFont, nFontSize); } function writeReset() { document.f.reset(); oEditors.getById["content"].exec("SET_IR", [""]); } </script> |
화면 캡처 이미지는 다음과 같다.
추가로, 좀더 상세한 소스 네이버스마트에디터2 설명이 필요하면 아래의 화면 사진의 주소로 접속하여 살펴보도록 하자.
'javascript' 카테고리의 다른 글
[PHP, Javascript] 네이버 스마트에디터2 - 에디터 여러개 달기 (0) | 2019.01.03 |
---|---|
[PHP, Javascript] 네이버 스마트에디터2 - 사진첨부 기능 포함(PHP업로드) , 글수정파일 (0) | 2019.01.03 |
현재 GPS 좌표값 얻기 3 - navigator.geolocation [다음지도 표시] (2) | 2018.12.29 |
현재 GPS 좌표값 얻기 2 - navigator.geolocation (0) | 2018.12.29 |
현재 GPS 좌표값 얻기 1 - navigator.geolocation (0) | 2018.12.28 |