AZuSk's secret log

AZuSkの日々的Hack雑記

iCalendar形式の最低限の書式メモ

   

スポンサーリンク

hoge.secret.jp_300x250

先日、某HPの為にiCalendar形式のファイル出力phpを作ったのですが、
昨日も遅くまで機能追加していた次第です。

とりあえずメモ的な事
まずHTTPヘッダ
header(‘Content-Type: text/calendar; charset=utf-8’);
header(“Content-Disposition: inline; filename=filename.ics”);

内容xml
ヘッダ
 $header1 = “BEGIN:VCALENDAR\n”
 .”VERSION:2.0\n”
 .”PRODID:-//著作権など//大体こんなかんじ的な//JP\n”
 .”METHOD:PUBLISH\n”
 .”TZID:Asia/Tokyo\n”
 .”X-WR-CALNAME:カレンダーの名前\n”
 .”X-WR-RELCALID:32文字の適当ID(GUIDGenで生成)\n”
 .”X-WR-TIMEZONE:Asia/Tokyo\n”;
 $header2 = “X-WR-CALDESC:カレンダーの説明\n”;
 if (ENTITIESする?){
  mb_convert_variables(“HTML-ENTITIES”,”utf-8″,$header2);
 }
 print $header1.$header2;
ヘッダを分けたのはHTML-ENTITIESを$header2だけにしたいから。

続いてVevent
 if (ENTITIESする?){
  mb_convert_variables(“HTML-ENTITIES”,”utf-8″,$desc);
  mb_convert_variables(“HTML-ENTITIES”,”utf-8″,$summary);
 }
 print “BEGIN:VEVENT\n”;
 //print “UID:\n”;//省略
 print “DESCRIPTION:$desc\n”;
 print “DTSTART:$date\n”;
 //print “DTEND:$date\n”;//END付けるとgoogleカレンダーで解析エラーとなった?
 print “SUMMARY:$summary\n”;
 print “END:VEVENT\n”;
$sammaryがタイトルで、$descが内容。$dateは20090101や20091231のような文字列。

最期に
 $footer = “BEGIN:VTIMEZONE\n”
 .”TZID:Asia/Tokyo\n”
 .”X-LIC-LOCATION:Asia/Tokyo\n”
 .”BEGIN:STANDARD\n”
 .”TZOFFSETFROM:+0900\n”
 .”TZOFFSETTO:+0900\n”
 .”TZNAME:JST\n”
 .”DTSTART:19700101T000000\n”
 .”END:STANDARD\n”
 .”END:VTIMEZONE\n”
 .”END:VCALENDAR\n”;
 print $footer;
正確には”BEGIN:VTIMEZONE\n”~”END:VTIMEZONE\n”はフッタでは無いので、ヘッダとVeventの間に有ってもよいのだが、便宜上最期にしておいた。

iCalの最低限の書式をメモしておく。

Powered by ScribeFire.

未分類

スポンサーリンク

hoge.secret.jp_336x280

hoge.secret.jp_336x280

Message

メールアドレスが公開されることはありません。

CAPTCHA


  関連記事

no image
携帯サイトのaccesskeyの数字画像を表示させるには

携帯サイトで見るaタグのaccesskeyについて調べてみた。 よくアクセスキー …

no image
蓮舫議員の公式サイトがTwitter風に刷新

蓮舫議員の公式サイトがTwitter風に刷新 理由をTwitterで聞いてみたh …

no image
GoogleMap画像ジェネレータ

GoogleMapをblogなどでgif画像として使いたい時に、GoogleMa …

no image
異性に対し、「うわ、無理」と思ったことの段

私的な用件に参考になればと見ていたMSN相談箱で、こんなのを見つけました。 異性 …

no image
IEのJavascriptでclass値を設定してもCSSが適用されない

JavascriptでRSSを読み込んで動的にリンクタグを作るスクリプトを組んだ …

no image
ブログペットつけてみるテスト

http://www.blogpet.net/ 久しぶりにブログペットのHPみた …

no image
05月21日のココロ日記(BlogPet)

う、おなかが痛いかも…ガを食べすぎました *このエントリは、ブログペットのココロ …

no image
XAMPP 1.6.5のphpMyAdminでログインできなくなった時の話

ちょっとだけPHPの動作確認したい時に鯖PC立ち上げるのが面倒だったので、 (電 …

no image
オーダースーツ@榮屋本舗

個人的には、普段はスーツとは無縁の生活だが、近々、同級生の結婚式の為に礼服を着な …

no image
今年の目標

レンタルスペースでMySQLが使えると言うことで、DBサイトの構築をする事。 ま …