Любой поиск Google на PHP ical просто вызывает phpicalendar и информацию о том, как анализировать или читать IN ical файлы. Я просто хочу написать файл PHP, который извлекает события из моей базы данных и записывает их в формате ical.
Моя проблема в том, что я не могу найти нигде, которая ответила бы на два вопроса:
- Какой точный формат ical, включая заголовки, формат файла, нижние колонтитулы и т. Д.? Другими словами, что именно должно быть в файле, чтобы его правильно прочитал Календарь Google и т. Д.?
- Если я создам этот файл с расширением .php, как мне опубликовать его как файл? Нужно ли мне писать в новый файл .ics? Или Календарь Google и т. Д. Будет считывать файл .php так же, как если бы его содержимое было в правильном формате? (Так же, как файл style.css.php будет читаться как файл CSS, если содержимое на самом деле является CSS и т. Д.)
Любая помощь, которую вы можете оказать или указать мне, будет принята с благодарностью !!!
RewriteEngine on
RewriteRule ^calendar.ics$ my_php_script.php [QSA]
Примечание из личного опыта в дополнение к ответу Стефана Герига и ответу Дэйва Ниона (и ответу mmmshuddup):
Когда я использовал валидатор ICS по адресу http://severinghaus.org/projects/icv/, у меня возникли проблемы с проверкой при использовании как \ n, так и PHP_EOL.
Я узнал, что мне нужно использовать \ r \ n, чтобы он прошел правильную проверку, поэтому это было мое решение:
Это остановило мои ошибки синтаксического анализа и заставило мои файлы ICS правильно проверяться.
источник
htmlspecialchars
для этого вместо этого.Существует отличный пакет eluceo / ical , который позволяет легко создавать файлы ics.
Вот пример использования из документации:
источник
Возможно, немного поздно, но вот ссылка на актуальную спецификацию. http://tools.ietf.org/html/rfc5545 1
источник
http://www.kanzaki.com/docs/ical/ содержит немного более читаемую версию старой спецификации. Это помогает в качестве отправной точки - многие вещи остались прежними.
Также на моем сайте у меня есть
.ics
за последние несколько лет. В частности, вы можете найти эту «шпаргалку» по повторяющимся событиям ..ics
области, требующие осторожного обращения:источник
Изменить: на самом деле я не уверен - строка 6186 дает пример в формате именования .ics, но также заявляет, что вы можете использовать параметры URL. Я не думаю, что это имеет значение, если тип MIME правильный.
Изменить: пример из википедии: http://en.wikipedia.org/wiki/ICalendar
Тип MIME настроен на сервере.
источник
Убедитесь, что вы форматируете строку так, иначе она не сработает
источник
PHP_EOL
вместо"\n"
.\r\n
так что имейте это в виду!