ユーザ用ツール

サイト用ツール


php:pydio

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
php:pydio [2018/06/25 09:40] – 外部編集 127.0.0.1php:pydio [2018/07/20 14:29] (現在) taka
行 1: 行 1:
 ====== PHP - Pydio(AjaXplorer) ====== ====== PHP - Pydio(AjaXplorer) ======
 +
 +===== はじめに =====
  
 ここでの解説はPydio 5.04、PHP 5.4.13を前提にしています。 ここでの解説はPydio 5.04、PHP 5.4.13を前提にしています。
  
-===== セットアップ =====+==== セットアップ ====
  
 サーバー上の任意の場所に設置して以下の2ファイルにLocale定義を加える。 サーバー上の任意の場所に設置して以下の2ファイルにLocale定義を加える。
  
-==== conf/bootstrap_conf.php ====+=== conf/bootstrap_conf.php ===
  
-<sxh php; gutter: false;>+<sxh php>
 /* /*
  * If you have a charset warning, or problems displaying filenames with accented characters,  * If you have a charset warning, or problems displaying filenames with accented characters,
行 23: 行 25:
 </sxh> </sxh>
  
-==== conf/bootstrap_context.php ====+=== conf/bootstrap_context.php ===
  
-<sxh php; gutter: false;>+<sxh php>
 //Windows users may have to uncomment this //Windows users may have to uncomment this
 //setlocale(LC_ALL, ''); //setlocale(LC_ALL, '');
行 31: 行 33:
 </sxh> </sxh>
  
-Windowsサーバーは "" でもいいみたいなことが書いてあるが、空にすると設定画面でユーザー情報の編集が行えなくなったため、ja_JP.UTF-8とするのが無難と思われる。+Windowsサーバーは""でもいいみたいなことが書いてあるが、空にすると設定画面でユーザー情報の編集が行えなくなったため、ja_JP.UTF-8とするのが無難と思われる。
  
-===== ワークスペースの追加 =====+==== ワークスペースの追加 ====
  
 Windows環境ではワークスペース作成時に「Character Encoding」に**CP932**を設定しないとマルチバイト文字を使ったファイル名が文字化けする。 Windows環境ではワークスペース作成時に「Character Encoding」に**CP932**を設定しないとマルチバイト文字を使ったファイル名が文字化けする。
行 48: 行 50:
 </columns> </columns>
  
-===== basename関数の不具合による文字化け対策 =====+==== basename関数の不具合による文字化け対策 ====
  
 ファイル名の先頭にマルチバイト文字を使っていると先頭の方だけ化けたり、不可解な現象が起きた。色々調べていると、PHPのbasename関数にバグがあることが判明。以下の方法で、独自の**getBaseName**ファンクションを定義し、すべてのbasenameを使っている箇所を置換することで回避できた。 ファイル名の先頭にマルチバイト文字を使っていると先頭の方だけ化けたり、不可解な現象が起きた。色々調べていると、PHPのbasename関数にバグがあることが判明。以下の方法で、独自の**getBaseName**ファンクションを定義し、すべてのbasenameを使っている箇所を置換することで回避できた。
行 54: 行 56:
 **core/classes/class.AJXP_Utils.php**の適当な箇所に独自の**getBaseName**ファンクションを定義。 **core/classes/class.AJXP_Utils.php**の適当な箇所に独自の**getBaseName**ファンクションを定義。
  
-<sxh php; gutter: false;>+<sxh php>
 public static function getBaseName($path) public static function getBaseName($path)
 { {
-    $allElements = explode('/',$path); +  $allElements = explode('/',$path); 
-    $dirElements = explode('/',dirname($path)); +  $dirElements = explode('/',dirname($path)); 
-    $basename = array_diff($allElements,$dirElements); +  $basename = array_diff($allElements,$dirElements); 
-    return implode($basename);+  return implode($basename);
 } }
 </sxh> </sxh>
行 66: 行 68:
 **basename**関数を使用しているファイル(.phpに限る)を全検索して以下に置換。 **basename**関数を使用しているファイル(.phpに限る)を全検索して以下に置換。
  
-<sxh php; gutter: false;>+<sxh php>
 AJXP_Utils::getBaseName(...) AJXP_Utils::getBaseName(...)
 </sxh> </sxh>
php/pydio.1529887226.txt.gz · 最終更新: 2018/06/25 09:40 by 127.0.0.1