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
Dreamweaverでサイトの管理情報が保存されないトラブル

HP作成にDreamweaverを使っているのですが、最近突然に、サイトの管理の …

no image
RYGでN3Rしてみない?

リャグ(RYG) 何でもアルファベットor数字3文字に略してしまおうというコンテ …

no image
phpのif文が常に真になってしまう罠

titleの通りです。 vc++の人には分からない悩みでしょう。 私、delph …

no image
オオカミのオシッコの匂いで猿の被害を防げるんだって

猿って襲ってくるとこわいですよね。 畑を荒らす猿や鹿の被害を減らす狼のオシッコの …

no image
OnMouseOverでリンク先のスクリーンショットを・・・

素直に公開APIにリンクした方がスマートです。はい、これ、結論。 スクリーンショ …

no image
ブログ通信簿のブログパーツを一時的に付けてみる

右側の最近のコメントの下に表示しています。

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

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

wordpressのテーマstinger5の記事冒頭にアイキャッチ画像を表示する為の改造

stinger5の初期状態のままだと、アイキャッチを設定しても、記事一覧には表示されますが、記事本文には表示されません。それではちょっと寂しいと感じましたので、テーマファイルを改造してみました。
最後の「まとめ」に、コピペで改造できるようにソースコードを載せています。

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

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

no image
dark-city-10@Themes

このブログはWordPressMEというGPLライセンスのブログエンジンで出来て …