1

我正在尝试将 CKFinder 与 CKEditor 集成到 CodeIgniter 应用程序中,使用它时看起来一切正常,但是当我转到文件夹时(默认 /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' 的 textarea

在我看来:

<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 回答