OS Xの指定フォルダからファイルを探す

ウェブブラウザ上で、指定した名前のファイルを探し出す。
これだけを作っていて、悩みに悩んでいたのが、UTF-8-MACというフォーマットの扱いでした。
mb_convert_kana()を使って何とかくっつかないかなと悩んでいて、諦め掛けていたのですが、iconv()というのがあると知って一気に解決しました。

ファイルの検索ならSpotlightを使えばいいのですが、指定範囲内の一部のファイル群だけを探したいときに不便でした。(特にサーバーの中)
そこで、ファイルの一覧をデータベース化して、その中を検索すれば手間が掛からず便利だろうと作り始めたのがきっかけでした。phpでand/or検索を駆使すれば絞り込みも容易でしょうし、折角web serviceも立ち上がっているのですし、何と言ってもphpのコーディングは簡単です。(Xcodeは何度もトライして挫けています)

OS Xのファイルシステムは「」を「」と「」とか、「」を「」と「」といった具合に分解して保存しています。このお蔭で「は」と「ば」は並んで表示されるのですが、検索するときには直接入力はできないので面倒です。

ファイル一覧をテキストのデータベースに保存して、その内容をブラウザから検索できるように作っていたのですが、入力内容をいちいちmb_convert_kana()で変換してみても上手くマッチせず、困っていました。
ところが、iconvという関数群があるのを知り、ファイル一覧のデータベースを作るときに一括変換したところ、簡単に検索できるようになりました。
ファイルのpathは加工せずに保持することで、ブラウザ上から直接そのファイルを参照することもできます。(当然、ローカルアドレスのみ許可のアクセス制限をかけています)

こりゃ便利だわ。

今度は速度アップのためにMySQL使うことにしましょう。
ただ、ファイルの保存先が変わった時、ファイルが削除された時、ファイルが追加された時、どう対処するかが問題です。これの対処方法が見つかるまでは今まで通り全件検索、データベースの再構築が必要になりそうです。(^_^;;
ついでにファイルの追加や移動(削除は不可)もできると面白いな。
次は、この辺りで遊んでみましょう。

コメントを残す