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
Twitterの脆弱性、PCで閲覧しただけで感染するそうだ

Twitterの脆弱性突くコードが拡散 Webブラウザでのアクセス自粛呼び掛け …

no image
カーソルの乗った状態でホイールスクロール

えー、悩んで検索して調べたのでメモしておきますね。delphiのスクロールできる …

no image
ScribeFireにて

ScribeFireを使ってHPからログインしないで投稿するテスト。 ああ、Sc …

no image
BlogPetのブログエディタの問題点

表示モードがhtml表示なので、タグの編集が出来ない。普通に文章を手打ちする分に …

no image
キーボード入力 (今日のテーマ)

BlogPet 今日のテーマ キーボード入力「キーボードをタイピングする時はロー …

no image
WordPressにTwitterを表示する

WordPressのpluginページでTwitterを調べるといろいろhitし …

no image
トップページをブログ形式にしてみるテスト

旧geocityesのブログも忘れ去られ、現auOneも更新することが稀になりつ …

no image
今年の目標

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

no image
今が旬の検索ワード@楽天

喪中はがき 無料 テンプレート りんご 仮装 ハロウィン 子供 ハロゲンヒーター …

no image
mySQLのDownload元が分からない

以前、Apache+PHP4+mySQL4.0.24をインストールしてlolip …