こんな感じでいかがでしょうか。
iCalの仕様は
http://www.asahi-net.or.jp/~ci5m-nmr/iCal/ref.html
にわかりやすい説明がありました。
文字コードや日時の指定の仕方など注意すべきことは多いですが・・・。
lang
1// iCalデータの内容
2$buf = "BEGIN:VCALENDAR
3VERSION:2.0
4PRODID:-
5BEGIN:VTIMEZONE
6TZID:Japan
7BEGIN:STANDARD
8DTSTART:20140101T000000
9TZOFFSETFROM:+0900
10TZOFFSETTO:+0900
11TZNAME:JST
12END:STANDARD
13END:VTIMEZONE
14BEGIN:VEVENT
15UID:(ユニークID)
16DTSTAMP:(イベントデータの作成日時)
17DESCRIPTION:(スケジュールの詳細)
18DTSTART;VALUE=DATE:(スケジュールの開始日時);
19DTEND;VALUE=DATE:(スケジュールの終了日時);
20SUMMARY:(イベント名)
21END:VEVENT
22END:VCALENDAR";
23
24
25// ヘッダ
26header('Content-type: text/calendar; charset=utf-8');
27header('Content-Disposition: inline; filename=calendar.ics');
28// ファイル出力
29echo $buf;
30exit;
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。