Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] tworzenie pliku kalendarza ics
Forum PHP.pl > Forum > PHP
dentopolis
skrypt php tworzy zawartość pliku ics czyli kalendarza (gdy podglądnę kod źródłowy strony). jak sprawić, żeby uruchomienie tego skryptu utworzyło plik ics?

  1. <?php
  2. $servername = "localhost";
  3. $username = "root";
  4. $password = "";
  5. $dbname = "calendar";
  6.  
  7. // Create connection
  8. $conn = new mysqli($servername, $username, $password, $dbname);
  9. // Check connection
  10. if ($conn->connect_error) {
  11. die("Connection failed: " . $conn->connect_error);
  12. }
  13. $conn->set_charset("utf8");
  14. $sql = "SELECT * FROM calendar WHERE id_employee='0100000001'";
  15. $result = $conn->query($sql);
  16.  
  17. if ($result->num_rows > 0) {
  18.  
  19. echo "BEGIN:VCALENDAR \n";
  20. echo "PRODID:-//Google Inc//Google Calendar 70.9054//EN \n";
  21. echo "VERSION:2.0 \n";
  22. echo "CALSCALE:GREGORIAN \n";
  23. echo "METHOD:PUBLISH \n";
  24. echo "X-WR-CALNAME:Kalendarz \n";
  25. echo "X-WR-TIMEZONE:Europe/Warsaw \n";
  26.  
  27. while($row = $result->fetch_assoc()) {
  28.  
  29.  
  30. $h_start = $row['h_start'];
  31. $h_end = $row['h_end'];
  32. $imie = $row['imie'];
  33. $nazwisko = $row['nazwisko'];
  34. $schedule_notes = $row['schedule_notes'];
  35. $komorka = $row['komorka'];
  36. $uid = substr(sha1(mt_rand()),26,26);
  37.  
  38.  
  39.  
  40.  
  41.  
  42. echo "BEGIN:VEVENT\n";
  43.  
  44. echo "SUMMARY:"; //20211227T190000
  45. echo $imie;
  46. echo " ";
  47. echo $nazwisko;
  48. echo "\n";
  49.  
  50. echo "DTSTART:"; //20211227T190000
  51. echo DateTime::createFromFormat('Y-m-d H:i:s', $h_start)->format('Ymd');
  52. echo "T";
  53. echo DateTime::createFromFormat('Y-m-d H:i:s', $h_start)->format('His');
  54. echo "\n";
  55.  
  56. echo "DTEND:"; //20211227T190000
  57. echo DateTime::createFromFormat('Y-m-d H:i:s', $h_end)->format('Ymd');
  58. echo "T";
  59. echo DateTime::createFromFormat('Y-m-d H:i:s', $h_end)->format('His');
  60. echo "\n";
  61.  
  62. echo "UID:"; //7ko43dfm8luc0l4ouv5c16rs10@google.com
  63. echo $uid;
  64. echo "@google.com\n";
  65.  
  66. echo "DESCRIPTION:";
  67. if (is_null($schedule_notes)) {
  68. echo "";
  69. } else {
  70. echo $schedule_notes;
  71. }
  72. echo "-";
  73.  
  74. echo "tel:";
  75.  
  76. if (is_null($komorka)) {
  77. echo "";
  78. } else {
  79. echo $komorka;
  80. }
  81.  
  82. echo "-";
  83. echo "\n";
  84.  
  85. echo "CREATED:20200504T070405Z";
  86. echo "\n";
  87.  
  88. echo "LAST-MODIFIED:20200504T070405Z";
  89. echo "\n";
  90.  
  91. echo "DTSTAMP:20211227T214436Z";
  92. echo "\n";
  93.  
  94. echo "LOCATION:";
  95. echo "\n";
  96.  
  97. echo "SEQUENCE:0";
  98. echo "\n";
  99.  
  100. echo "STATUS:CONFIRMED";
  101. echo "\n";
  102.  
  103. echo "TRANSP:OPAQUE";
  104. echo "\n";
  105.  
  106.  
  107. echo "END:VEVENT\n";
  108. }
  109.  
  110. echo "END:VCALENDAR\n";
  111.  
  112. } else {
  113. echo "brak wyników";
  114. }
  115. #$conn->close();
  116. ?>
Neutral
fopen i fclose.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.