CKFinder からKCFinderに乗り換え

  • このエントリーをはてなブックマークに追加
  • Pocket

WYSIWYGエディタは「CKEditor」 + 「CKFinder」を利用していたが、「KCFinder」というツールを見つけた。

CKFinderは有料だが、KCFinderは無料で利用可なので、早速導入してみた。

インストールはこちらを参考にさせていただきました。
では、早速インストールしてみる。

1.CKEditorをインストール
  (詳細は省略)

2.KCFinderをダウンロード

3.ダウンロードしたKCFinderををサーバーに設置

  CKEditorを doc_root/js/ckeditor に設置しているので、
  KCFinderを doc_root/js/kcfinder に設置する

4.kcfinder/config.php に追記

//    override config setting
$_CONFIG['disabled'] = !CheckAuthentication();
$_CONFIG['uploadURL'] = '/uploads/';
$_CONFIG['uploadDir'] = 'doc_root/uploads/';

//  ユーザー認証
function CheckAuthentication() {
    include 'lib/Admin/Auth.php';
    return AdminAuth::isAuthorized();
}

※【AdminAuth】クラスは自作クラス

5.CKEditorにKCFinderをセットアップ
  ckeditor/config.js を修正

CKEDITOR.editorConfig = function( config )
    ・・・
    config.filebrowserBrowseUrl = '/js/kcfinder/browse.php?type=files';
    config.filebrowserImageBrowseUrl = '/js/kcfinder/browse.php?type=images';
    config.filebrowserFlashBrowseUrl = '/js/kcfinder/browse.php?type=flash';
    config.filebrowserUploadUrl = '/js/kcfinder/upload.php?type=files';
    config.filebrowserImageUploadUrl = '/js/kcfinder/upload.php?type=images';
    config.filebrowserFlashUploadUrl = '/js/kcfinder/upload.php?type=flash';
});

これでインストール完了。

6.実際にアクセスしてみる。

「サーバーブラウザ-」をクリック

あれ?まっしろ、、、

 

原因を調査すると、kcfinder/core/autoload.php に定義されている function __autoload() が正常に動作していない様子。
自分のソースではZendFramework なども使用しているため、__autoload() が上書きされてしまったようだ。

 

7.ということで、再度 kcfinder/config.php に追記

//    __autoloaderが上書きされるので再定義
spl_autoload_register('kcfinderAutoload');
function kcfinderAutoload($class) {
    if ($class == "uploader")
        require "core/uploader.php";
    elseif ($class == "browser")
        require "core/browser.php";
    elseif (file_exists("core/types/$class.php"))
        require "core/types/$class.php";
    elseif (file_exists("lib/class_$class.php"))
        require "lib/class_$class.php";
    elseif (file_exists("lib/helper_$class.php"))
        require "lib/helper_$class.php";
}

再度アクセスする。

めでたく表示されました。

ちなみにファイルのアップロードは、FireFoxやGoogleChromeならドラッグ&ドロップでも行えます。
便利!!

 

「KCFinder」は「CKFinder」と遜色なく使える。

ただし注意点として、KCFinderは以下の条件が必要

  1. WebサーバはApache2
  2. PHP5をApacheのモジュールとしてインストール
    (できればPHPのバージョンは5.3以上)
  3. PHPのGD、ZIPモジュール利用可
  4. IE6なんてサポートしません

 

 

  • このエントリーをはてなブックマークに追加
  • Pocket

SNSでもご購読できます。

コメントを残す

*