CKEditorに画像アップロード機能を追加する
CKFinderというのを追加したら可能だそうだが、いろいろ見たところ、有料らしく。
で、KCFinderというのが無料であるらしいので、それを導入。
参考:CKFinder からKCFinderに乗り換え
kcfinderプロジェクトページ:http://sourceforge.jp/projects/sfnet_kcfinder/
(1)KCFinderをダウンロード
以下サイトより。
http://kcfinder.sunhater.com/download
(2)解凍してサーバーにアップロード
CKEditorと同ディレクトリにうぷ。
※CKEditorが「js/ckeditor」なら、「js/kcfinder」へ。
(3)アップロード用ディレクトリを作成
適当に「upload」とか
パーミッションを適宜設定。とりあえず777で。
※デフォでKCFinderフォルダ内にuploadフォルダあるんだけど、それ使ってもいいみたい。
(4)CKEditorのconfig.jsを編集
config.language = 'ja'; 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';
を追記
これは最初なんかうまく行かなくてゴニョゴニョといじくってこうなった(爆)
browse.phpとupload.phpで違う参照の仕方をさせる結果に。ええんかな?
(5)KCFinderのconfig.phpを少し編集
//$_CONFIGの配列で、 'disabled' => true, //ここをfalseに 'uploadURL' => "upload" //トップディレクトリに作ったフォルダに "/upload/" 'uploadDir' => "" //こちらは本ファイルからの相対パスじゃないとうまくいかなかった。 "../../upload/" '_sessionDomain' => //これはよく分からんけど、とりあえず".mydomein.com"としておいた(爆)
(6)でもって動作確認をしたところ、「サーバーを閲覧する権限がありません」ときたもんだ。
ということで、KCFinder内のPHPファイルを755にしまくりんぐ。で解決。
具体的には、KCFinder直下のファイル、coreフォルダ内、core>types内、そんなもんでしょ。
以上で正常に機能するようになったけど、とんだ素人仕事になったもんで。
まあ、勝てば官軍。だよね。