
前回は、空メールを送ったらPHPが起動し、指定したメールアドレスに内容をそのまま送るところまでいきました。
今回は、サーバ側で届いたメールの内容を解析したいと思います。
とりあえずfromから来たメールアドレスで主要3キャリアを判別しましょう。

前回は、空メールを送ったらPHPが起動し、指定したメールアドレスに内容をそのまま送るところまでいきました。
今回は、サーバ側で届いたメールの内容を解析したいと思います。
とりあえずfromから来たメールアドレスで主要3キャリアを判別しましょう。
携帯でWebサービスに会員登録するのに一般的な方法は、以下のような感じかと。
1.サイトにアクセス
2.登録ボタンを押すとメールが開く
3.そのまま空メール送信
4.すぐにメールが届き、中にURLが書いてある
5.URLにアクセスして登録完了
今回は、さくらインターネット上で3をした後、サーバ側で4のメールを送るまでを記載します。

現在、さくらインターネット スタンダードプランを借りてますが、10Gあってもなかなか使い切ることは出来ません。
そこで、一部をYahooブリーフケース(古い!?)のようなファイル共有サーバとします。
誰もが置けるのもなんなので、ログインした人だけがアップロード、ダウンロード出来るようなものを。
PHP Navigatorを入れてみます。
http://navphp.sourceforge.net/
CKEditorで入力フォームを作ります。
form.php で入力(CKEditor、CKFinder付き。前回参照)
conf.phpで確認。戻るでform.phpに戻るようにして、form.phpにはPOSTで入力していた情報をデータとしてセットする。
を行います。
1.は普通にCKEditorを組み込めれば、フォームと同じです。
2.では、textarea name="editor1" だったとすると、editor1にPOSTで戻ってきたデータをセットすることになりますが、CKEditorの準備が完了してからセットしないと反映されません。
イベントinstanceReadyを使い、準備が出来た時にセットするようにします。
渡すデータは、改行などをあらかじめ削除しておきます。
これで、CKEditorの準備が出来た時に、$_POST[''];のデータをセットすることが出来ます。
CKEditor 3 JavaScriptAPI Documentation
http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.html

WordPressなどでは、TinyMCEが使われていますが、画像などのアップロードをしようとすると、TinyMCEだけを組み込んでもできません。
そこで、TinyMCEに似ていて、なおかつファイルアップロードまで簡単に組み込めてしまえるCKEditor,CKFinderを使うことにします。
CKEditorがTinyMCE、CKFinderがファイルアップロード機能(実際は管理も出来ますが今回は省略)です。
キーワード検索機能をつけるときに、自分は全角スペース、半角スペースごちゃまぜで検索しようとします。
PHPでこの機能を作る場合は、フォームから渡されたキーワード文字列を分割しなくてはいけません。キーワードを区切る文字を”半角スペース”とする場合、全角スペースを半角スペースに変換する必要が出てきます。
str_replace()などでは全然変換されなくて困っていたところ、便利な関数が用意されていました。
こんな関数が用意されていました。
http://jp2.php.net/manual/ja/function.mb-convert-kana.php
上記explodeでそれぞれ配列に値が入りましたが、全角スペースが2つなどつながっている場合、配列$keyList内には余分な空文字も入っています。
空白、NULL,false,-1などのboolean=falseとなるような値をフィルタリングした配列を返す関数array_filter()を使います。
最後にforeach()などで値を見れば、確かに入力したフォームの文字列から空白を除いた文字列が取得できました。
mb_convert_kana
http://jp2.php.net/manual/ja/function.mb-convert-kana.php
array_filter
http://www.php.net/manual/ja/function.array-filter.php
配列要素の削除方法について PHPプロ!Q&A掲示板
http://www.phppro.jp/qa/1475

掲示板などを作ったとき、携帯の入力フォームで、キャリアの違いによる絵文字変換が面倒な場合が多々あると思います。
AUで入力された絵文字をDocomoで見たときなどに出る文字化けです。
対応が面倒な場合は、「絵文字は自動的に削除されます」と一言加え、入力されてから確認画面に移行した時に削除しておけばOK。
AU,ソフトバンクで軽く確認済み
phpでPDFを作成するためのメモ。
ちょっと探すと結構いろいろありますね。
時間を見て、FPDFを使ってPDF生成したいですね。
FPDF(ライブラリ)
http://www.phpbook.jp/fpdf/
PHPでPDFを作成するには? ZDNet
http://builder.japan.zdnet.com/news/story/0,3800079086,20368226,00.htm
Asail HTML2PDF.BIZ(有料)HTMLからPDFへ変換
http://www.asial.co.jp/html2pdf/
Easy Excel for PHP とExcel2PDF for PHP(前者無料、後者有料)
http://easy.winto.co.jp/
TCPDF(日本語化)
http://www.monzen.org/Refdoc/tcpdf/
sessionを扱うときのメモ。本当に簡単なもの。
開始、確認、破棄まで。

今更ですが。Ajaxをメモっておかないと忘れてしまいそうで。
最近、登録時にユーザー名決めるときに「自分の好きなID]を入れて「重複チェック」ボタンを押したら即座に判定結果が出るのありますね。
あれをちろっと作ってみる。
今回も、とある女性に手伝ってもらい記事のイラストモデルに。
といってもgoogle検索で出てきた写真をトレースしているという。
さて、この女性は一体誰でしょう?・・・という記事ではないのでさっさと話を進めます。