2012-10-05 5 views
5

PHPを使用して、ダウンロード可能な ".ics"ファイルを生成する有効な方法を特定の日付範囲(開始日 - 終了日)とアラーム時刻。特定の日付範囲と時間にPHPを使用して.icsファイルを生成する方法

この機能を作成するためのサンプルPHPコードを提供することができます。

+0

ようこそ、ようこそ、チュートリアルやコードのような何かを探して、自分の努力(例:あなたの現在の実装は何ですか、なぜ適合しないのですか)は、通常、オフトピックとみなされ、閉じられてから削除されます。 – hakre

答えて

23

http://web.archive.org/web/20120419230026/http://jamiebicknell.tumblr.com/post/413492676/ics-generator-php-class

注:元のブログ記事がなくなっています。 arhcive.orgリンクで保存してください。


コピーして上記のリンクの情報を貼り付けます。

<?php 
class ICS { 
    var $data; 
    var $name; 
    function ICS($start,$end,$name,$description,$location) { 
     $this->name = $name; 
     $this->data = "BEGIN:VCALENDAR\nVERSION:2.0\nMETHOD:PUBLISH\nBEGIN:VEVENT\nDTSTART:".date("Ymd\THis\Z",strtotime($start))."\nDTEND:".date("Ymd\THis\Z",strtotime($end))."\nLOCATION:".$location."\nTRANSP: OPAQUE\nSEQUENCE:0\nUID:\nDTSTAMP:".date("Ymd\THis\Z")."\nSUMMARY:".$name."\nDESCRIPTION:".$description."\nPRIORITY:1\nCLASS:PUBLIC\nBEGIN:VALARM\nTRIGGER:-PT10080M\nACTION:DISPLAY\nDESCRIPTION:Reminder\nEND:VALARM\nEND:VEVENT\nEND:VCALENDAR\n"; 
    } 
    function save() { 
     file_put_contents($this->name.".ics",$this->data); 
    } 
    function show() { 
     header("Content-type:text/calendar"); 
     header('Content-Disposition: attachment; filename="'.$this->name.'.ics"'); 
     Header('Content-Length: '.strlen($this->data)); 
     Header('Connection: close'); 
     echo $this->data; 
    } 
} 
?> 

出力ブラウザにICSファイルを、ユーザーに

<?php 
$event = new ICS("2009-11-06 09:00","2009-11-06 21:00","Test Event","This is an event made by Jamie Bicknell","GU1 1AA"); 
$event->show(); 
?> 

保存開く、または保存するオプションを与えますICSファイルを現在の作業ディレクトリのサーバにアップロードする

<?php 
$event = new ICS("2009-11-06 09:00","2009-11-06 21:00","Test Event","This is an event made by Jamie Bicknell","GU1 1AA"); 
$event->save(); 
?> 
+0

このリンクを使用してページにアクセスすることはできません: – thoyyu

+0

コードの作成者で、ライセンス条項が利用可能ですか?あなたがリンクしているウェブサイトはもう動作しません。 – hakre

+0

私のサイトは完璧ですが、これは作者http://www.twitter.com/jamiebicknellが彼に尋ねるものです。 – m4t1t0

関連する問題