Qualquer pesquisa no Google sobre PHP ical apenas traz o phpicalendar e como analisar ou ler arquivos IN ical. Só quero escrever um arquivo PHP que extraia eventos do meu banco de dados e os grava em formato ical.
Meu problema é que não consigo encontrar nenhum lugar que responda a duas perguntas:
- Qual é o formato ical exato , incluindo cabeçalhos, formato de arquivo, rodapés, etc.? Em outras palavras, o que o arquivo precisa ter, exatamente, para ser lido corretamente pelo Google Agenda, etc.?
- Se eu construir este arquivo usando uma extensão .php, como faço para publicá-lo como ical? Tenho que gravar em um novo arquivo .ics? Ou o Google Agenda etc. lerá um arquivo .php, desde que o conteúdo esteja no formato correto? (Muito parecido com um arquivo style.css.php será lido como um arquivo CSS se o conteúdo for realmente CSS, etc.)
Qualquer ajuda que vocês puderem dar ou me apontar será muito apreciada !!!
RewriteEngine on
RewriteRule ^calendar.ics$ my_php_script.php [QSA]
Uma nota de experiência pessoal, além da resposta de Stefan Gehrig e da resposta de Dave None (e a resposta de mmmshuddup):
Eu estava tendo problemas de validação usando \ ne PHP_EOL quando usei o validador ICS em http://severinghaus.org/projects/icv/
Aprendi que precisava usar \ r \ n para validar corretamente, então esta foi minha solução:
Isso interrompeu meus erros de análise e fez com que meus arquivos ICS fossem validados corretamente.
fonte
htmlspecialchars
para isso.Existe um excelente pacote eluceo / ical que permite criar facilmente arquivos ics.
Aqui está um exemplo de uso do docs:
fonte
Talvez um pouco tarde, mas aqui está um link para as especificações reais. http://tools.ietf.org/html/rfc5545 1
fonte
http://www.kanzaki.com/docs/ical/ tem uma versão um pouco mais legível da especificação anterior. Ajuda como ponto de partida - muitas coisas ainda são as mesmas.
Também no meu site , tenho
.ics
longo dos últimos anos. Em particular, você pode achar útil esta 'folha de cheats' de eventos repetidos ..ics
áreas que precisam de tratamento cuidadoso:fonte
Editar: na verdade, não tenho certeza - a linha 6186 dá um exemplo no formato de nomenclatura .ics, mas também afirma que você pode usar parâmetros de url. Acho que não importa, desde que o tipo MIME esteja correto.
Editar: Exemplo da wikipedia: http://en.wikipedia.org/wiki/ICalendar
O tipo MIME é configurado no servidor.
fonte
Certifique-se de formatar a string assim ou não funcionará
fonte
PHP_EOL
vez de"\n"
.\r\n
portanto, tenha isso em mente!