2012-05-16 6 views
1

저는 CI가 처음인데 많이 사용해 본 적이 있습니다.CodeIgniter에서 TinyMCE 이미지 업로드 플러그인을 구성 할 방법을 찾지 못했습니다.

마크 업을 수정하기 위해 TinyMCE를 사용하는 다소 견고한 양식을 만들었습니다. 내 필요 중 하나는 hotlinked보다는 오히려 이미지를 업로드하는 것입니다.

여러 개의 다른 TinyMCE 업로드 플러그인을 실행하려고 시도했지만 모두 경로 구성 문제 또는 Apache 블록이있는 것으로 보입니다.

CI 문서를 읽을 때 업로드하는 것에 대해 기억하는 것 같지만 실제로 따르지는 않습니다.

내가하지 않는 것이 있습니까? 아마도 Routes 나 .htaccess와 함께 뭔가? CI와 함께 권장되는 TinyMCE 업로드 방법이 있습니까?

미리 감사드립니다.

답변

1

이미지를 업로드 할 폴더는 "public_html" 의 하위 디렉토리가 아니어야합니다. 즉 이미지 업로드 폴더는 상위 폴더에 있어야합니다.

+1

실제로 사용자 권한이 올바르게 설정되어 있으면 파일 시스템의 어느 위치에서나 설정할 수 있습니다. – Tom

1

업로드 버튼에 자신 만의 JQuery/Angular/Whatever 이벤트를 생성하고 데이터로 서버에 Ajax 호출을 보내십시오. JQuery를 사용하여 입력에서 데이터를 가져 와서 here과 같이 양식 처리 컨트롤러로 보낼 수 있습니다.

<input type="file" name="file" id="file" required /> 

귀하의 JS는 JQuery와 트리거 아래와 같이 Ajax 호출을하기 위해 별도의 JQuery와 기능을 포함합니다 :

이 당신의 입력하자.

tinymce.init({ 
    selector: 'textarea', 
    height: 500, 
    toolbar: 'mybutton', 
    menubar: false, 
    setup: function (editor) { 
    editor.addButton('mybutton', { 
    text: 'My button', 
    icon: false, 
    onclick: function() { 
    //Trigger Submit event on input 
    $("#uploadimage").trigger('submit'); 
    } 
}); 
    }, 
    content_css: [ 
     '//fast.fonts.net/cssapi/e6dc9b99-64fe-4292-ad98-6974f93cd2a2.css', 
     '//www.tinymce.com/css/codepen.min.css' 
     ] 
}); 

    //Triggered on submit 
$("#uploadimage").on('submit',(function(e) { 
e.preventDefault(); 
$("#message").empty(); 
$('#loading').show(); 
$.ajax({ 
url: "ajax_php_file.php", // Url to which the request is send 
type: "POST",    // Type of request to be send, called as method 
data: new FormData(this), // Data sent to server, a set of key/value pairs (i.e. form fields and values) 
contentType: false,  // The content type used when sending data to the server. 
cache: false,    // To unable request pages to be cached 
processData:false,  // To send DOMDocument or non processed data file it is set to false 
success: function(data) // A function to be called if request succeeds 
{ 
$('#loading').hide(); 
$("#message").html(data); 
} 
}); 
})); 

CI 양식 업로드 라이브러리를 사용하여 업로드 된 파일을 처리 할 수있는 컨트롤러를 만듭니다. 솔직히 나는 TinyMCE보다 Froala를 더 좋아합니다. 왜냐하면이 멋진 작은 것들이 미리 알아내어졌고 아마도 더 많은 기능을 가지고 있으며 피부로 덮일 수 있기 때문입니다. 뭐든간에 당신 염소 남자가 떠 다닙니다. 이 방법이 효과가 있는지 알려주세요. 나는 방금이 코드를 그 자리에 놓았고 꽤 게으른 편이었다. TinyMCE init에서 폼 핸들링 함수를 움직일 수 있습니다. 건배!

관련 문제