0

Codeigniter サイトに画像をアップロードするために、KCFinder を KCEditor に統合しました。ページを作成すると、機能します。画像をサーバーにアップロードしてページに挿入できます。しかし、編集のために MySQL から CKEditor にページを戻すと、画像を参照しようとすると KCFinder が 404 エラーをスローします。

問題は、編集時に画像ブラウザの URL が間違っていることです。しかし、編集ページと作成ページの両方が同じ KCFinder フォルダーにリンクしているため、ページ編集中になぜ壊れるのかわかりません。

URL が ckeditor の config.js ファイルにどのように含まれているかを次に示します。

   config.filebrowserBrowseUrl = '../kcfinder/browse.php?opener=ckeditor&type=files';
   config.filebrowserImageBrowseUrl = '../kcfinder/browse.php?opener=ckeditor&type=images';
   config.filebrowserFlashBrowseUrl = '../kcfinder/browse.php?opener=ckeditor&type=flash';
   config.filebrowserUploadUrl = '../kcfinder/upload.php?opener=ckeditor&type=files';
   config.filebrowserImageUploadUrl = '../kcfinder/upload.php?opener=ckeditor&type=images';
   config.filebrowserFlashUploadUrl = '../kcfinder/upload.php?opener=ckeditor&type=flash';

この問題を解決できる唯一の方法は、絶対 URL を使用することでした。そこで、すべてのパスの../ をhttp://localhost.devに置き換えました。

config.filebrowserBrowseUrl = 'http://localhost.dev/kcfinder/browse.php?opener=ckeditor&type=files';  

これで問題は解決しますが、移植性の理由から、このような状況では絶対 URL は好きではありません (サイトを別の環境に移動するたびに URL を変更する必要があります)。この問題を解決して相対 URL を維持する方法はありますか? N/B無痛の代替手段は大歓迎です。

4

1 に答える 1

1

KCFinder が CKEditor インストールの plugins フォルダーにある場合:

config.filebrowserBrowseUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'browse.php?type=files' );
config.filebrowserImageBrowseUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'browse.php?type=images' );
config.filebrowserFlashBrowseUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'browse.php?type=flash' );
config.filebrowserUploadUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'upload.php?type=files' );
config.filebrowserImageUploadUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'upload.php?type=images' );
config.filebrowserFlashUploadUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'upload.php?type=flash' );
于 2016-06-29T07:12:02.967 に答える