Logical Rabbit.

さくらのVPS

Gist

FPDFで日本語を含むPDFファイルを作成する

PDFを扱うライブラリはいくつかあるのですが、PHP言語単体で外部ライブラリを必要としないものとしてはFPDFが有名らしく、日本語対応もされているので使い方を試してみました。なお、今回は「既存のPDFを加工する」のではなく「データからPDFファイルを新規に作成する」のが目的です。

基本的には座標を指定してごりごり書いていくようです。生のテキストをPDFに落とすというよりは、固定レイアウトの帳票とかを作成する用途に向いていそう。実際には方眼紙でレイアウト組んで、座標系で管理していく戦闘スタイルになると思われ。

各種画像も読み込んで貼り付けられるので、画像ファイルをまとめたPDFを作る用途にも使えそうです。

PHPによるメール処理(POP3編)

PHPでメールを送受信する処理について調べ始めたので、サンプルコードをGistに投稿しました。まずはPOP3から。

大雑把に以下の処理をしています。基本的に動作検証のためなので、エラーチェックはしないし取ってきたメールへの処理も雑極まりない感じですが。

実行にあたっては ./server_setting.ini を適当に用意してください。パスワードとか書く必要があるので、扱いは慎重に。また、メールサーバーにアクセスするため万が一の場合メールを破壊する可能性もあるかと思います。そのあたりは自己責任でお願いします。

…最大の難点は「取り敢えず最新メールを取ってくる」仕様なので、その時何が届いているか賭けになるということだな…。試験実行したらSPAMを拾ってきたこともあったし(汗)

  1. POP3サーバーにログインする
  2. メールの一覧を取得する
  3. メールの一覧から最後の1件(=最新のメール)を取り出す
  4. 取り出したメールのbodyをMIMEデコードする
  5. (この辺りから雑な実装になる)メールがtext/plainの、ふつーのメールだった場合デコード結果が単品になるので、そのままprint
  6. メールのパートごとにContent-Typeをチェックし、text/plainだったらそのままprint
  7. Content-Typeがtext/plainでないなら、連番を振ってファイル保存(面倒くさいのでファイル名の取得は省略している)

メールのリストを取得したあたりからプログラムの目的によってやることが変わってくると思うので、適宜調整すればいいと思われ。