伊藤清徳の垂直落下式ムーンサルトプレス

PerlとかPHPとかMySQLとか...がんばっても8割だ。

Category: CSV検索システム

CSV用の簡易検索システム。

有料プラン

無料

このシステムは基本的に無料にてお使いいただけます。

ただし、
・有限会社キープラン(以下「弊社」)による代行設置
・システムによって自動表示される著作権表示の削除
・機能追加ご要望
・WEB制作会社さまなどによる利用者/運用者以外による設置
は有料とさせていただきます。

有限会社キープラン(以下「弊社」)による代行設置

¥35,000(税別)にて承ります。この場合は、著作権表示の削除を同時に許可いたします。

システムによって自動表示される著作権表示の削除

¥20,000(税別)にて承ります。

機能追加ご要望

追加機能によって異なります。都度お見積もりとさせていただきますので、ご連絡くださいませ。この場合は、著作権表示の削除を同時に許可いたします。

WEB制作会社さまなどによる利用者/運用者以外による設置

1サイトあたり¥15,000(税別)にて許可いたします。この場合は、著作権表示の削除を同時に許可いたします。

リクエスト設定

リクエスト

以下の表を参考にリクエストをシステムに渡してください。
動作サンプルも合わせて読んでください。

要素名 内容
a 文字コード
0 => SJIS
1 => EUC-JP
2 => UTF-8
この要素が渡されなかったときは
「0」として扱います。
b ページ番号
この要素が渡されなかったときは
「1」として扱います。
c 検索キーワード
必須です。GETのリンクの場合は、極力URLエンコードするようにしてください。
d AND検索かOR検索か
AND => AND検索
OR => OR検索
この要素が渡されなかったときは
「OR」として扱います。
e CSVファイルの選択
設定ファイル「$K__CSV」の呼出キーを渡して、選択させるファイルを選択します。
必須。
f 検索対象列
1列目=>0,2列目=>1…とする。
この要素が渡されなかったときは「0」として扱う。
g 使用テンプレートの選択
設定ファイル「$K__tempalte」の呼出キーで表示するテンプレートファイルを選択。
必須

※基本的にはページ番号以外のすべての要素を渡すことをオススメする。

動作サンプル

サンプル動作

このページでは、当サイトよりダウンロードしたままの状態のシステムをそのままインストールした場合の動作サンプルをご覧になれます。
リクエスト設定についての説明のページと合わせてご利用ください。

サンプルのデータについて

サンプルデータは
なんちゃって個人情報さん(http://kazina.com/dummy/index.html
からダウンロードできるCSVデータをそのまま利用しています。
サンプル動作の検索結果として出現するデータの取り扱いについては
なんちゃって個人情報さんの利用規約/利用注意をご覧下さい。

サンプルその1

OR検索でCSVデータ呼出キー「std」の2列目を「くさかべ まさとし」で検索した場合のサンプル。

http://devel.agilmente.com/CSVSerch/test/CSV.php?a=0&b=1&c=%82%ad%82%b3%82%a9%82%d7%20%82%dc%82%b3%82%c6%82%b5&d=OR&e=std&f=1&g=fukusu

OR検索ではスペースで区切りで分けらたキーワードのうちひとつでもヒットしたデータを表示する。
この検索結果の場合、どちらも「くさかべ」がヒットするデータ。
テンプレートは呼出キー「fukusu」を利用。

サンプルその2

AND検索でCSVデータ呼出キー「std」の2列目を「くさかべ まさとし」で検索した場合のサンプル。

http://devel.agilmente.com/CSVSerch/test/CSV.php?a=0&b=1&c=%82%ad%82%b3%82%a9%82%d7%20%82%dc%82%b3%82%c6%82%b5&d=AND&e=std&f=1&g=fukusu

AND検索ではスペースで区切りで分けたキーワードすべてがヒットしたデータを表示する。
このサンプル結果の場合、「くさかべ」と「まさとし」両方にヒットするデータは1件しかない。
テンプレートは呼出キー「fukusu」を利用。

サンプルその3

OR検索でCSVデータ呼出キー「std」の10列目を「ドコモ」で検索した場合のサンプル。

http://devel.agilmente.com/CSVSerch/test/CSV.php?a=0&b=1&c=%83h%83R%83%82&d=OR&e=std&f=9&g=fukusu

OR検索だが、このサンプルではキーワードがひとつなのでAND検索でも結果は同じ。
検索結果が多いのでページ分割がされる。
テンプレートは呼出キー「fukusu」を利用。

サンプルその4
http://devel.agilmente.com/CSVSerch/test/CSV.php?a=0&b=1&c=%82%ad%82%b3%82%a9%82%d7%20%82%dc%82%b3%82%c6%82%b5&d=AND&e=std&f=1&g=oneitem

サンプル2の結果を違うテンプレートで表示した場合。
あらかじめ検索結果がひとつしかないことがわかっている場合は、
1データ表示専用のテンプレートファイルを用意しておくと、便利。

動作環境

動作環境

以下の環境で動作確認しております。

PHPバージョン PHP4.3.2
PHP5.2.5
ただし
・マルチバイト関数利用可能
・セーフモードオフ
で動作確認。
OS RedhatEnterprizeLinux4
おそらく、BSD系UNIXまたはLinuxで動作するものと思われます。
Windowsなどは未確認。
WEBサーバー Apache2.x

当システムは、すべての環境において、動作保証はいたしません。
各ユーザー利用の環境に合わせて、設定を変更してご利用ください。

設定ファイルの編集

設定ファイルの設定

インストールのみでは当然動作しません。設定ファイルへ設定を加えることで実用的動作が実現します。
設定ファイルは「config.inc.php」です。
このファイルをテキストエディタなどで開いて設定をします。

※設定ファイルは、EUC-JPで記述しています。これ以外の文字コードでは動作確認していません。
 特にShift-jisでは確実にエラーが発生します。
 設定編集は、EUC-JPの編集が可能なテキストエディタを利用してください。

テンプレートファイルの設定

$K__tempalte = array(
	#※ここへ設定を加えていく。
);

設定の内容は

	'呼出キー' => array(
		'file' => 'テンプレートファイル名',
		'max' => 1ページ当たりに表示する検索結果の最大数,
	),

と設定。 複数の設定可能。
呼出キーはこのシステムを実行するときのリクエストキー「g」と対応。

エラー表示用のテンプレートファイル

※未実装機能につき設定を変更不可。

テンプレート処理設定

通常は変更の必要はありません。
変更が必要な方は、Smarty公式サイトの説明書をご覧になった上で変更してください。
(設定は、Smartyのクラスメンバに準拠)

CSVデータ格納ディレクトリ

通常は変更の必要はありませんが、
CSVファイルをブラウザ経由で見られたくないなどの際は、設定を変更します。
CSV.phpのあるディレクトリからの相対パスで設定します。

$K__CSVdir = array(
	'file' => 'ユーザーがアップロードしたCSVを格納するディレクトリ',
	'compile' => 'システムが文字コード変換などシステムが利用しやすいよう変換したCSVを格納するディレクトリ',
);

と設定します。 各ディレクトリは「/」で終わるように設定してください。

CSVデータ
$K__CSV = array(
	※ここへ設定を加えていきます。	
);

設定の内容は

	'呼出キー' => array(
		'file' => 'CSVファイルの名前',
		'strCode' => 'CSVファイルの文字コード'
	),

と設定。複数設定可能。呼出キーはこのシステムを実行するときのリクエストキー「e」と対応。
文字コードは
shift-jisの場合→SJIS-WIN
EUCの場合→EUC-JP
UTF-8の場合→UTF-8
と設定。

編集が完了したらアップロード

編集が完了したら保存して(必ずEUC-JPで保存)、CSV.phpと同じディレクトリへ名前を変えずにアップロード。

以上で基本的な設定が完了です。

インストール

システムのダウンロード

こちらのページよりダウンロードをしてください。

ダウンロードファイルの解凍~アップロード

ダウンロードした各ファイルを解凍してください。
空ディレクトリを含むアーカイブですので、空ディレクトリも展開する設定で解凍してください。

システム本体(csvsearchsystem)を解凍してできたファイル/ディレクトリのうち

(ディレクトリ)
class
csv
csv_c
rights
tmpl
tmpl_c
(ファイル)
config.inc.php
CSV.php

をサーバーの任意のディレクトリへアップロードします。
(面倒ならば解凍してできたファイルおよびディレクトリをすべてアップロードしてもOKです。)

クラスライブラリのアーカイブ(classes.zip)を解凍してできたすべてのファイルとディレクトリを、
CSV.phpと同じ階層のディレクトリへアップロードします。

※解凍およびサーバーへのアップロードに関してはググって調べてください。

パーミッション設定

「csv_c」「rights」「tmpl_c」ディレクトリへ書込み権限を与えます。
「777」または「707」で動作するものと思われます。

以上で、インストールは完了です。
続いて、設定へ進んでください。

ダウンロード

システム本体のダウンロード

※ダウンロードする前に利用規約をご覧ください。ダウンロードされた時点で、利用規約にご同意いただいたものとします。
システム本体(ZIP形式で圧縮)
※解凍は空ディレクトリも展開する設定で解凍してください。

外部ライブラリのダウンロード

当システムでは、PEARなど外部サイトで配布されるクラスライブラリを動的リンクして利用しています。
必要なクラスライブラリをパックしたものはこちらからダウンロードしてください。(ZIP形式で圧縮)

【利用クラスライブラリ】

■PEAR基底クラス
http://pear.php.net/package/PEAR

■Smarty(テンプレート操作クラス)
http://www.smarty.net/

■CSVReader(CSV解析クラス)
http://www.phpclasses.org/browse/package/2331.html

※各クラスライブラリのライセンスに従って利用してください。

CSVサーチシステム

CSVファイルを検索する簡易データベースシステムを公開しました。

高度な検索やソートなどはまったくできませんが、
MySQLを使うまでもない簡単な検索をサイトに実装したい場合などに使えると思います。

言語:PHP(4.2.3および5.2.5で動作確認)

詳細は右メニューの「CSV検索システム」からどうぞ。