2011-06-27

jQuery.fileTree と 日本語ファイル名 (IIS & PHP)

IIS+PHP(つまりWindows環境)で

A Beautiful Site (http://abeautifulsite.net/)さんの

jquery.fileTreeを利用させてもらった。

以下、留意点...

script:

パスを指定しないと、もとのhtmlがあるパス(ディレクトリ)にあるもの解釈する。

(/jqueryFileTree.php と指定すると、公開しているルートディレクトリにあるjqueryFileTree.phpを探しにいく)

http://...と指定して他のサーバへ問い合わせるのも可能な模様(だが、試していない)。

root:

Windows場合は、最後に/または¥が必要。

d:/

d:/temp/

など

日本語文字化け対策:

hemlentries -> htmlspecialchars は必須。

 http://treatment-head.blogspot.com/2008/11/jquery-file-tree_21.html

 ただし、UTF-8EUC-JPでページを記述している場合は、さらに処理が必要。

phpではscandirなどのファイル処理において

windowsでは、mbstringの設定にかかわらず、引数SJIS渡し、戻り値SJIS返しの模様。

したがってUTF-8EUC-JPでページを記述している場合は、

その点を考慮してconnectorsフォルダにあるjqueryFileTree.phpを書き換える必要がある。

(きれいなソースでないので公開はちょっと控えます)


このphpファイルの先頭に

$_POST['dir'] = urldecode($_POST['dir']);

という行があるが(スーパーグローバル変数デコード済みで、さらにデコードするのは危険phpマニュアルに記載されている)

どのみちUnicode文字列URLデコードはこの関数では無理なようなので、phpマニュアルのUserNoteから拝借。

http://php.net/manual/en/function.urldecode.php

こちらにズバリが掲載されているか...と試してみたが、どうも動作がうまくいかなかった

http://ameblo.jp/pushurinko/entry-10287161493.html

他、ご参考

 http://life-hack.jp/blog/charly/151

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん