1月 2008 のブログ記事

有限会社キープラン(以下弊社)が受注・開発したソフトウェア(以下ソフト)の
利用にあたって、以下のことをお守りください。

・ソフトを利用した上で被ったすべて損害に関して、
 法令の定めるところに基づき、
 ソフト納入に関して支払った代金を上限として、
 弊社は賠償請求に応じるものとする。

・ソフトの改変・譲渡・複製・売買は、
 弊社の合意の下で認めます。
 ただし、納入先事業者(個人事業主の場合は事業主のみ)における、
 納入先事業者管理のPCまたはサーバーの利用においてのみ、
 弊社の許可なしにソフトの改変のみ可能とします。

・サポートの範囲について
 ソフトのサポートの範囲は、
 弊社瑕疵におけるバグ・動作不良のみとします。
 ただし、個々の事案において、弊社が無償での対応可能とした場合は、
 この限りではありません。

・サーバー条件に関して
 弊社開発のソフトは、
 受注当初納入予定のサーバー条件に合わせて、チューニングを行っております。
 サーバー移転、サーバーOS変更に伴う、動作不良は、
 有償サポートとさせていただきます。

・サポート方法について
 弊社とECコンサル契約を結ぶ場合
  Eメールまたはお電話にてサポート対応いたします。
 弊社とECコンサル契約を結ばない場合
  特に緊急を要さない限り、Eメールにてサポート対応いたします。
 サポート担当
  有限会社キープラン 開発担当:伊藤清徳(いとうきよのり)
  TEL:052-528-2870 Email:ito@keeprun.co.jp

・運用における責任
 納入後のソフトの運営に関してのすべての責は、
 運用事業者が負うものとします。

・レンタル業務について
 ソフトを利用してのレンタル業務は禁止します。
 ただし、弊社が許可した場合はこの限りではありません。

・そのほか
 以上の事項に関して、
 納入先事業者の許可なく、弊社の手により変更できるものとします。

http://www.rubyist.net/~matz/20080126.html#p04

だそうなので、PHP捨ててRubyに行きたいが、
PHP並に軽い実装がないとPHPを捨てられないのも事実。。。
どうしたもんか。。。
あと、Rubyはドキュメントも少ないし。。。
(ごちゃごちゃ言わず覚えればいいんだけどね。)

xamppのPHPmyadminで文字化けが起こるもんだからどうしたらよいかと。。。

http://www.artful.jp/blog/archives/2006/07/xamppmysqlphpmy.html

とか読んでも、んーーー。確かにうまくいくけど、テスト環境としてはあまりあれこれ触りたくない、、、

と思ってたら
「phpMyAdminで作成したテーブルの照合順序」・・・云々
とある、、

おぉっ、そうか!!
データベースをphpMyAdminで「eucjpms_japanese_ci」を指定して作ってやって
テーブルはPHPなんかでSQL渡して作ると、文字化け解消。

フロントエンド頼りすぎはだめです。。。私はダメな子

Windows版xamppのPHPでmail()が使えないことに気がつく。
http://www.gesource.jp/weblog/archives/2007/08/xampp_for_windows_openpne.html
こちらを参考にmail()自体を使えるようにしたのは良いが
肝心のMercury(SMTP)がうまく動かない。多分プロバイダとかルーターとかいろいろ条件が合わないのだろう。
いろいろ触るのは面倒なので、
sendmail.iniをいじってSMTPをメーラーで設定しているSMTPサーバーに変更しちゃうのが簡単。

OP25Bとかの対策でSMTPのポート番号を変えているときは、
sendmail.iniに
smtp_port=ポート番号
を追加して、
php.iniには
smtp_port = 25

smtp_port = 変更したポート番号
と変更。

無料

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

ただし、
・有限会社キープラン(以下「弊社」)による代行設置
・システムによって自動表示される著作権表示の削除
・機能追加ご要望
・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」で動作するものと思われます。

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