DEVELOPERS BLOGデベロッパーズブログ

  1. HOME > 
  2. 加藤 正人のデベロッパーズブログ > 
  3. CKFinder v3.x で躓いた点

加藤 正人のデベロッパーズブログ

加藤 正人

氏名
加藤 正人
役職
多分SE
血液型
秘密
出没
美味しいもののあるところ
特色
タヒチ大好き。ちょいメタボ。

PhpSpreadsheet でExcel ファイルを読み込む (CakePHP3)

2015/08/01

PhpSpreadsheet でExcel ファイルを読み込む (CakePHP3)

 

お客様のサイトに HTML エディタを導入するため久しぶりに CKEditor と CKFinder の最新版を取得しインストールしてみた。

CKEditor 4.5.1 は問題なくインストール完了し、いつの間にか実装されていた jQuery プラグインの動作も良好だ。

一方 CKFinder 3.0.0 (PHP 版) は、config.php のパラメータの仕様が大幅に変わっていて戸惑った。旧バージョンでは config.php 内で様々な変数に必要事項を定義する方法だったが、これを $config 配列に集約し、各設定は $config 配列の要素として定義するようになった。

CakePHP で作業をする場合、見かけ上の URL と実際のディレクトリパスは異なることが多いので旧バージョンでは $baseDir と $baseUrl で対応していたのだが、V3 ではこれらは $config 配列の 'backends' というカテゴリー内のパラメータでまとめられており、また複数の格納場所を用途によって容易に切り替えられるようになっている。

一番簡単な対処法は config.php 内の 'backends' 項の default 設定を以下のように書き換えることだ。($baseUrl が 'baseUrl' 項、$baseDir が 'root' 項に相当)

また、同じく config.php の認証関数 CheckAuthentication() も $config['authentication'] に無名関数の形で設定する方法に変更されている。典型的な CakePHP 用設定はこんな感じ。

とりあえずは以上で対応できた。

追記

CKFinder 3.0 (PHP版) では、PHP 5.4.x 以降が必須となっている。サーバ自体や運用上の制限等で PHP 5.4 以降が利用できない場合は動作しないので注意。

また、CKFinder 3.0 からは IE は 9 以降のみの対応となった点も注意。

いずれか1つでも抵触する場合は、CKFinder 2.x を利用することで回避は可能。

関連タグ: CKEditor3  CKFinder4  PHP