投稿

【PHP】Zend_Mailを使ってメールを送信する(SMTP)(日本語対応)

前 は Zend_Mail を使ってメールを受信する方法。今度はメールを送信してみたときのメモ。 Zend Frameworkのバージョンは1.9.2 サンプルコードは次のような感じ。そのまま貼り付けているので、各メソッドに渡すパラメータは適宜書き換える必要有り。基本は 公式ドキュメント を参考に。 require_once('Zend/Mail.php'); $objMail = new Zend_Mail('ISO-2022-JP'); $objMail->setFrom($aMail['from']['address']); $objMail->addTo($aMail['to']['address']); foreach ($aMail['cc'] as $aItem) { $objMail->addCc($aItem['address']); } foreach ($aMail['bcc'] as $aItem) { $objMail->addBcc($aItem['address']); } $objMail->setSubject(MailUtil::getEncodeString($aMail['subject'])); $objMail->setBodyText(MailUtil::getEncodeString($aMail['body'])); $objMail->send(); class MailUtil { /** * メール送信用にISO-2022-JPエンコードする * * @param string $sString エンコード文字列 * @param string $sFromEncode 元の文字コード * @return string エンコードした結果 */ public static function getEncodeString($sStrin...

【PHP】Zend_Mailを使ってメールを受信する(POP3)(日本語対応)

Zend Framework の Zend_Mail を使って、メールの受信を実装したときのメモ。 Zend_MailはGoogle先生に聞いてみると、ソースをいじらないと日本語に対応できないというお答えが返ってくるので、ちょっと嫌な感じはしたけど、実際やってみたらソースに手を加えずに受信も送信もできた。 Zend Frameworkのバージョンは1.9.2 メール受信するサンプルコードは次のような感じ。 $mail = new Zend_Mail_Storage_Pop3(array('host' => 'localhost', 'user' => 'test', 'password' => 'test')); echo $mail->countMessages() . " messages found\n"; foreach ($mail as $message) { echo "Mail from '{$message->from}': {$message->subject}\n"; } この辺は 公式マニュアル を読んだ方が分かりやすい。 件名が文字化けするのは内部エンコードに問題があるらしいので、次のような感じでデコードする。 /** * メールの件名をdecodeする * * @param string $sSubject エンコードされた件名 * @param string $sEncode 最後にエンコードする文字コード * @return string デコードした件名 */ public static function decodeSubject($sSubject, $sEncode = 'UTF-8') { ...

【Icecast】別ポートでIcecastサーバーを複数起動する

Icecastを複数起動して、管理画面も別のアドレスで参照したかったので設定したメモ。 icecastのインストールの仕方は 前の記事 を参考に。以下は既にicecastのコンパイルとインストールが終わっている前提。 ポート8001用のicecastにする場合は次のようにする。 プログラムをコピーする # cp /usr/local/bin/icecast /usr/local/bin/icecast8001 起動スクリプトをicecast8001用に書き換える #!/bin/sh # # icecast This shell script takes care of starting and stopping # the icecast multimedia streaming systen. # # chkconfig: - 85 15 # description: icecast is a multimedia streaming daemon. It is used to \ # relay and offer multimedia streaming content. # processname: icecast # pidfile: /var/run/icecast/icecast.pid DAEMON=/usr/local/bin/icecast8001 CONFIGFILE="/usr/local/etc/icecast8001.xml" LOCKFILE="/var/lock/subsys/icecast8001" PIDNAME=icecast8001 # Source function library. . /etc/rc.d/init.d/functions [ -x $DAEMON ] || exit 0 # See how we were called. case "$1" in start) # Start daemon. echo -n $"Starting $PIDNAME streaming daemon: " daemon "$DAEM...

【Icecast】出力されるstream_startのフォーマットを変更する

Icecast の管理画面を見やすくしようとxsltをいじっていたときのメモ。 Icecastのコンパイルとインストールは 前の記事 を参照。 ストリーミングが開始された時間はstream_startという属性にもっているのだけど、これが「Sun, 23 Sep 2009 08:01:01 +8000」というような表示なので見やすくない。 これをxsltでうまいこと表示させようと思ったけど大変そうだったので、ソースを変更することにした。 変更するのは、icecast-2.3.2/src/stats.cの586行目あたり //strftime (buffer, sizeof (buffer), "%a, %d %b %Y %H:%M:%S %z", &local); strftime (buffer, sizeof (buffer), "%Y/%m/%d %H:%M:%S", &local); 編集したら再コンパイルとインストールする。icecast.xmlは上書きされない。 これで「2009/09/23 08:01:01」という感じで表示されるようになる。 strftimeの詳細は こちら を参考に。   関連リンク 【Linux】Icecast serverのクライアントIceSをコンパイル、インストール Icecast + winamp + edcastで音声のストリーミング(ラジオ局) Icecastのコンパイルとインストール

円とスリランカ ルピーを両替する

調べたときのメモ。 時間と両替する場所によって変わるけど、目安として知っておくと便利。 YAHOO! FINANCEのページ が分かりやすい(計算しやすい)。

.htaccessで特定のファイルだけ参照不可(禁止)にする

XMLファイルに設定情報を記述すると読みやすいけど、ファイルのアドレスを指定されると外部から参照できてしまうので、どうしようかなと思ったときのメモ。 .htaccessが使えるなら特定のファイルだけ参照できないように設定が可能。 xmlだけ参照不可にする場合は次のように記述する <Files ~ "\.xml$">   deny from all </Files> 詳しくは ここのサイト を参考に。 .htaccessはほとんどのレンタルサーバーで使えると思うけど、自前のサーバーの場合はAllowOverride Allの設定を忘れずに Alias /site /opt/www/ <Directory "/opt/www/">    AllowOverride All    Order allow,deny    Allow from all </Directory> 前の記事も参考に。 .htaccessと.htpasswdで簡易ユーザ認証 Googleカレンダーにicalを読み込ませるapacheの設定を前に書いたので、そっちも参考になるかも。 GoogleカレンダーにだけiCal形式のファイル参照を許可する

【Linux】Icecast serverのクライアントIceSをコンパイル、インストール

イメージ
前の記事 で音楽(mp3など)ファイルをストリーミング配信(インターネットラジオ)する Icecast のコンパイルとインストールを書いたけど、そのIcecast Serverに接続してストリーミング配信の設定するクライアントユーティリティIceSをコンパイル、インストールしてみた。 環境はCentOS 5.3 ちなみにWindows環境でwinampからIcecast Serverに接続する方法は こちらの記事 を参考に。 ソースを ここ からダウンロード→解凍→コンパイル→インストール。コンパイルに必要なソフトは icecast serverをインストールした記事 を参考に。 # tar xzvf ices-2.0.1.tar.gz # cd ices-2.0.1 # ./configure # make # make install /usr/local/bin/icesと/usr/local/share/iceができる。 /usr/local/share/iceに簡単なマニュアルと設定サンプルXMLが配置される。 例えば/opt/musicディレクトリに配信したい音楽ファイルを置いてストリーミング配信したい場合は次のような感じ。 プレイリストを作成 # find /opt/music/ -iname "*.mp3" > /opt/music/playlist.txt /usr/local/share/ices/ices-playlist.xmlを編集 # vi /usr/local/share/ices/ices-playlist.xml <input>     <param name="file">/opt/music/playlist.txt</param> </input> <instance>     <password>password</password> </instance> パスワードはicecast...

オンラインストレージをネットワークドライブとしてマウントする

イメージ
Gladinet Cloud Desktopというソフトを使うと無料でSkyDriveなどのオンラインストレージをネットワークドライブとしてマウントできることを知った。 ダウンロードは ここ から。 フリーのstarterをダウンロード→インストールする。 英語だけど直感的に分かる。 ローカルのファイルと変わらずに操作できるので便利。日本語も文字化けせずに表示できる。 今まで使いこなせてなかったGoogle DocsとSkyDriveをフル活用できそうな予感。 簡易的なバックアップツールとして役に立ってくれそう。

Webページを高速化するためのメモ

「 便利なライブラリや動画に潜むWebデザインの3つの罠 」を読んで有用な情報があったのでメモ。 便利に使っているjQueryも記述の仕方で速度が変わってくるので、普段から意識してプログラミングしなければならない。 jQuery を高速に使う CSS セレクタの書き方 あと、 CSSはソースコードの上部に記述する JavaScriptはソースコードの下部に記述する など、おもしろい記事があったので一度読んでおくといいかも。 Webページを速く見せるための5つのちょっとした工夫

ラオウを愛するすべての人へ

何となく 北斗の拳 が見たくなって検索してみると劇場版やOVAでいろんなエピソードが制作されていることを知った。 特にラオウを愛する私としては見なければならないのはこれ。   北斗の拳 ラオウ外伝 天の覇王 と 真救世主伝説 北斗の拳 ラオウ伝 激闘の章   ラオウ外伝は第1話からラオウの絶大な強さに感動する。 「己の道は曲げぬ。曲げれば天が笑う。」 それでこそラオウ。 覇道を貫くその生き様に惚れる。   明日からの合宿でゴウショウハを練習してきます。