Toute recherche Google sur PHP ical affiche simplement phpicalendar et comment analyser ou lire des fichiers IN ical. Je veux juste écrire un fichier PHP qui extrait les événements de ma base de données et les écrit au format ical.
Mon problème est que je ne trouve nulle part qui réponde à deux questions:
- Quel est le format ical exact , y compris les en-têtes, le format de fichier, les pieds de page, etc.? En d'autres termes, que doit avoir exactement le fichier pour être correctement lu par Google Agenda, etc.?
- Si je construis ce fichier en utilisant une extension .php, comment le publier comme ical? Dois-je écrire dans un nouveau fichier .ics? Ou Google Agenda, etc. lira-t-il un fichier .php aussi longtemps que le contenu est dans le format correct? (Tout comme un fichier style.css.php sera lu comme un fichier CSS si le contenu est en fait CSS, etc.)
Toute aide que vous pouvez tous me donner ou me pointer sera grandement appréciée !!!
RewriteEngine on
RewriteRule ^calendar.ics$ my_php_script.php [QSA]
Une note d'expérience personnelle en plus de la réponse de Stefan Gehrig et de la réponse de Dave None (et la réponse de mmmshuddup):
J'avais des problèmes de validation en utilisant à la fois \ n et PHP_EOL lorsque j'ai utilisé le validateur ICS à http://severinghaus.org/projects/icv/
J'ai appris que je devais utiliser \ r \ n pour le faire valider correctement, c'était donc ma solution:
Cela a arrêté mes erreurs d'analyse et a validé correctement mes fichiers ICS.
la source
htmlspecialchars
à la place.Il existe un excellent package eluceo / ical qui vous permet de créer facilement des fichiers ics.
Voici un exemple d'utilisation de la documentation:
la source
Peut-être un peu tard, mais voici un lien vers la spécification réelle. http://tools.ietf.org/html/rfc5545 1
la source
http://www.kanzaki.com/docs/ical/ a une version légèrement plus lisible de l'ancienne spécification. Cela aide comme point de départ - beaucoup de choses sont toujours les mêmes.
Aussi sur mon site , j'ai
.ics
ces dernières années. En particulier, vous trouverez peut- être utile cette «feuille de triche» pour les événements répétitifs ..ics
zones nécessitant une manipulation soigneuse:la source
Edit: en fait, je ne suis pas sûr - la ligne 6186 donne un exemple au format de dénomination .ics, mais elle indique également que vous pouvez utiliser des paramètres d'URL. Je ne pense pas que ce soit important, tant que le type MIME est correct.
Edit: Exemple de wikipedia: http://en.wikipedia.org/wiki/ICalendar
Le type MIME est configuré sur le serveur.
la source
Assurez-vous de formater la chaîne comme ceci ou cela ne fonctionnera pas
la source
PHP_EOL
au lieu de"\n"
.\r\n
donc gardez cela à l'esprit!