개발 Q&A

제목 ckeditor에서 이미지 업로드시 에디터로 보내는 방법
글쓴이 carion 작성시각 2016/11/12 18:19:28
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 15730   RSS

일주일간 해봤지만 잘안되서 글올립니다.

ck에디터를 이용해서 이미지 파일을 업로드하려합니다.

uploadimage 플러그인을 이용해서 에디터창에 드래그 드롭으로 업로드를 하고싶은데

서버에 업로드는 잘되는데 에디터 창에는 안올라오네요 업로드 후에 에디터 창으로 이미지를 받고 싶은데 어떻게 해야될까요?

이미지업로드창을 열어서 업로드하면 잘올라오는걸로 보면(이미지 업로드->업로드창에 이미지 전송->확인버튼->에디터창에 이미지전송)

콜백문구를 수정하면 될거같아 검색해봤지만 영어능력이 안되서 해결을 못했습니다.

ck에디터의 js파일과 포럼의 zupload 플러그인을 분석해보려고 했지만 기본지식이 없어서 어렵더군요

 

 

 

			<?php
				echo form_open('main/section_write');
				echo validation_errors();
			?>
			<p>제목</p>
			<input type="text" name="title" />

			<p>내용</p>
			<textarea id="editor"  name="section"></textarea>
			<script type="text/javascript" src="//cdn.ckeditor.com/4.5.11/standard-all/ckeditor.js"></script>

			<div><input type="submit" value="Submit" /></div>

            <script>
                CKEDITOR.plugins.addExternal( 'uploadimage', '<?php echo base_url()?>static/ckeditor/myplugins/uploadimage/', 'plugin.js' );
                CKEDITOR.plugins.addExternal( 'uploadwidget', '<?php echo base_url()?>static/ckeditor/myplugins/uploadwidget/', 'plugin.js' );

                CKEDITOR.replace( 'editor', {
                	extraPlugins : 'uploadimage',
                	uploadUrl : './do_upload_ck',
        		//filebrowserUploadUrl  : './do_upload_ck',
        			
                });
			</script>

 

컨트롤러

	function do_upload_ck()
	{
		$config['upload_path'] = './file/upload';
		$config['allowed_types'] = '*';
		$config['max_size']	= '1000000';
		$config['max_width']  = '10240';
		$config['max_height']  = '7680';
		$config['encrypt_name']  = true;
		
		$this->load->library('upload', $config);
	
		if ( ! $this->upload->do_upload('upload'))
		{
			$data = array('error' => $this->upload->display_errors());

			var_dump($data);
		}
		else
		{
			$CKEditorFuncNum = $this->input->get('CKEditorFuncNum');

			$data = $this->upload->data();	
			$filename = $data['file_name'];
			$url = base_url().'/file/upload/'.$filename;
			echo $url;
			echo "<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction('".$CKEditorFuncNum."', '".$url."', '성공')</script>";
			//echo "<script type='text/javascript'>window.parent.CKEDITOR.instances.editor.insertElement(CKEDITOR.dom.element.createFromHtml('<p><img src='".$url."></p>'));	</script>";
			var_dump($data);
		}

업로드시 화면

 

 다음글 MYSQL에서 호스트네임 유저네임등 기본정보 알아내는 ... (1)
 이전글 echo안에 PHP 변수 한번 더 써서 출력을 원합니다... (5)

댓글

carion / 2016/11/15 22:07:17 / 추천 0

몇일더 해봤지만 도저히...ㅠㅠ

그냥 ckfinder 적용해서 구현했습니다.

파인더 해석할 능력이 되면 좋겠지만, 불가능하니...

차후라도 답변 주시거나 좋은 ck에디터 강의있으면 링크 부탁드리겠습니다.

그래주신다면 다시한번 공부겸 도전해보겠습니다 ^^