Jede Google-Suche auf PHP ical ruft nur phpicalendar auf und zeigt, wie IN ical-Dateien analysiert oder gelesen werden. Ich möchte nur eine PHP-Datei schreiben, die Ereignisse aus meiner Datenbank abruft und sie in einem bestimmten Format ausschreibt.
Mein Problem ist, dass ich nirgendwo etwas finden kann, das zwei Fragen beantwortet:
- Was ist das genaue Format, einschließlich Kopfzeilen, Dateiformat, Fußzeilen usw.? Mit anderen Worten, was muss die Datei genau haben, um von Google Kalender usw. richtig eingelesen zu werden?
- Wie veröffentliche ich diese Datei als ical, wenn ich sie mit der Erweiterung .php erstelle? Muss ich in eine neue .ics-Datei schreiben? Oder liest Google Kalender usw. eine .php-Datei so lange, wie der Inhalt im richtigen Format vorliegt? (Ähnlich wie eine style.css.php-Datei wird sie als CSS-Datei gelesen, wenn der Inhalt tatsächlich CSS usw. ist.)
Jede Hilfe, die Sie mir geben oder auf die Sie mich hinweisen können, wird sehr geschätzt !!!
RewriteEngine on
RewriteRule ^calendar.ics$ my_php_script.php [QSA]
Ein Hinweis auf persönliche Erfahrungen zusätzlich zu der Antwort von Stefan Gehrig und der Antwort von Dave None (und der Antwort von mmmshuddup):
Ich hatte Validierungsprobleme mit \ n und PHP_EOL, als ich den ICS-Validator unter http://severinghaus.org/projects/icv/ verwendete.
Ich habe gelernt, dass ich \ r \ n verwenden muss, damit es ordnungsgemäß validiert wird. Dies war also meine Lösung:
Dadurch wurden meine Analysefehler gestoppt und meine ICS-Dateien wurden ordnungsgemäß validiert.
quelle
htmlspecialchars
stattdessen dafür zu verwenden.Es gibt ein ausgezeichnetes eluceo / ical- Paket, mit dem Sie einfach ics-Dateien erstellen können.
Hier ist ein Beispiel für die Verwendung aus Dokumenten:
quelle
Vielleicht etwas spät, aber hier ist ein Link zur eigentlichen Spezifikation. http://tools.ietf.org/html/rfc5545 1
quelle
http://www.kanzaki.com/docs/ical/ hat eine etwas besser lesbare Version der älteren Spezifikation. Es hilft als Ausgangspunkt - viele Dinge sind immer noch gleich.
Auch auf meiner Seite habe ich
.ics
in den letzten Jahren gemacht habe. Insbesondere kann dieses "Cheatsheet" für sich wiederholende Ereignisse nützlich sein..ics
Bereiche, die einer sorgfältigen Behandlung bedürfen:quelle
Bearbeiten: Eigentlich bin ich mir nicht sicher - Zeile 6186 enthält ein Beispiel im .ics-Namensformat, gibt aber auch an, dass Sie URL-Parameter verwenden können. Ich denke nicht, dass es wichtig ist, solange der MIME-Typ korrekt ist.
Bearbeiten: Beispiel aus Wikipedia: http://en.wikipedia.org/wiki/ICalendar
Der MIME-Typ ist auf dem Server konfiguriert.
quelle
Stellen Sie sicher, dass Sie die Zeichenfolge so formatieren, da sie sonst nicht funktioniert
quelle
PHP_EOL
als"\n"
.\r\n
Denken Sie also daran!