1

CodeIgniter アプリケーションで CKFinder を CKEditor と統合しようとしていますが、使用するとすべて正常に動作しているように見えますが、フォルダーに移動すると (デフォルトの /ckfinder/userfiles はまだ config.php ファイルに設定されています)。 )そこにファイルはありません。

奇妙なことに、CKFinder ダイアログの [サーバーで参照] ボタンをクリックすると、「アップロード」した画像が表示されますが、指定されたフォルダーにないため、物理的にどこにあるのかわかりません。

ここに私の設定があります:

$(document).ready(function () {

    var config = {

        toolbar:[
            ['Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Undo', 'Redo', '-', 'SelectAll', 'Format'],
            ['UIColor'],
            ['Image', '-', 'Link', 'Source']
        ],

        filebrowserBrowseUrl:base_url + '/ckfinder/ckfinder.html',
        filebrowserImageBrowseUrl:base_url + '/ckfinder/ckfinder.html?Type=Images',
        filebrowserFlashBrowseUrl:base_url + '/ckfinder/ckfinder.html?Type=Flash',
        filebrowserUploadUrl:base_url + '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
        filebrowserImageUploadUrl:base_url + '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
        filebrowserFlashUploadUrl:base_url + '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash'



    };
    config.format_tags = 'p;h2;h3;div'
    $('textarea.editor').ckeditor(config);


});

繰り返しますが、ファインダーが開いてファイルなどを選択できる限り、すべてが機能していますが、ファイルはフォルダーに表示されません。

私が間違っていることは何ですか?

4

1 に答える 1

2

あなたのコードにはアップロード機能がありません

コードを貼り付けます。正常に動作しています。

name='description' および id='description' のテキストエリアの場合

私からしてみれば:

<script type='text/javascript'>

$(document).ready(function(){

    CKEDITOR.replace( 'description', {filebrowserUploadUrl : "/admin/ckeditor/"});

    $('#submit').click(function() {

        CKEDITOR.instances.description.updateElement();

        return true;

    });

});

</script>

私の管理コントローラーには、アップロード機能があります

public function ckeditor()
{
    $url = FCPATH.'public/uploads/ckeditor/'.time()."_".$_FILES['upload']['name'];

    $url_aux = substr($url, strlen(FCPATH) - 1);

    if (($_FILES['upload'] == "none") OR (empty($_FILES['upload']['name'])) )
    {
       $message = "No file uploaded.";
    }
    else if(file_exists(FCPATH.'public/uploads/ckeditor/'.$_FILES['upload']['name']))
    {
        $message = "File already exists";
    }
    else if ($_FILES['upload']["size"] == 0)
    {
       $message = "The file is of zero length.";
    }
    else if (($_FILES['upload']["type"] != "image/pjpeg") AND ($_FILES['upload']["type"] != "image/jpeg") AND ($_FILES['upload']["type"] != "image/png"))
    {
       $message = "The image must be in either JPG or PNG format. Please upload a JPG or PNG instead.";
    }
    else if (!is_uploaded_file($_FILES['upload']["tmp_name"]))
    {
       $message = "You may be attempting to hack our server. We're on to you; expect a knock on the door sometime soon.";
    }
    else 
    {
       $message = "Image uploaded correctly";

       move_uploaded_file($_FILES['upload']['tmp_name'], $url);
    }


    $funcNum = $_GET['CKEditorFuncNum'] ;
    $url = $url_aux;
    echo "<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction($funcNum, '$url', '$message');</script>";

}
于 2012-07-18T19:40:44.517 に答える