Come importare file .ICS in una tabella MySQL utilizzando PHP

by Janeth Kent Date: 23-05-2020 php webdev coding ics mysql

Come noto, il formato file .ICS è un formato di calendario universale utilizzato per memorizzare le informazioni del calendario all'interno di un file di testo.

In questo articolo vedremo come creare una funzione PHP che importerà i dati dal file .ICS e li memorizzerà in un database MySQL.

ics import php

Nel codice in basso, abbiamo incluso un file di classe php chiamato icalendar.php con classe chiamata iCalendar, che leggerà il file ICS e convertirà i dati in formato Array. Una volta ottenuto l'array di dati, è possibile salvarlo o mostrarlo nella propria pagina web in formato tabulare.

CODICE PHP

<?php
include("includes/connection.php");
include("includes/icalendar.php");
$records = mysqli_num_rows(db_query("select * from  events"));
if ($_POST['stage'] == 1) {
    $ical = new iCalendar();
    $filename = $_FILES['file1']['tmp_name'];
    $ical->parse("$filename");
    $ical_data = $ical->get_all_data();

    $timezone = "{$ical_data['VCALENDAR']['X-WR-TIMEZONE']}";
    if (function_exists('date_default_timezone_set'))
        date_default_timezone_set($timezone);

    $strsql1 = "Insert into  events(StartDate,StartTime,EndDate,EndTime,Title,Location,Description) values ";
    if (!empty($ical_data['VEVENT'])) {
        foreach ($ical_data['VEVENT'] as $key => $data) {
		  //get StartDate And StartTime
          $start_dttimearr = explode('T', $data['DTSTART']);
          $StartDate = $start_dttimearr[0];
          $startTime = $start_dttimearr[1];

          //get EndDate And EndTime
          $end_dttimearr = explode('T', $data['DTEND']);
          $EndDate = $end_dttimearr[0];
          $EndTime = $end_dttimearr[1];

          $strsql1.="('".$StartDate."','".$startTime."','".$EndDate."','".$EndTime."','".
		  $connect->real_escape_string($data['SUMMARY']) . "','". 
		  $connect->real_escape_string($data['LOCATION']). "','". 
		  $connect->real_escape_string($data['DESCRIPTION']) . "')";
          $strsql1.=",";
        }
      $strsql1 = rtrim($strsql1, ',');
      db_query($strsql1);
    }
    header('Location:index.php');
}
if ($_GET['stage'] == "empty") {
    db_query(" TRUNCATE events");
    header('Location:index.php');
}
?>
 
by Janeth Kent Date: 23-05-2020 php webdev coding ics mysql visite : 13376  
 
Janeth Kent

Janeth Kent

Licenciada en Bellas Artes y programadora por pasión. Cuando tengo un rato retoco fotos, edito vídeos y diseño cosas. El resto del tiempo escribo en MA-NO WEB DESIGN AND DEVELOPMENT.

 
 
 

Articoli correlati

Un approccio a Java: Il ciclo while

Ciao a tutti e bentornati! Dopo aver fatto una breve, ma corposa, introduzione sui cicli, andiamo oggi a vedere finalmente le prime implementazioni che utilizzano quello che abbiamo definito ciclo precondizionale. In Java, come…

Un approccio a Java: I cicli - Introduzione

Ciao a tutti e bentornati! Sino ad ora, abbiamo parlato di variabili e di strutture di selezione, andando a considerare alcuni degli aspetti fondamentali di questi due concetti. Teoricamente, per…

Un approccio a Java: Le variabili

Ciao a tutti e bentornati! Quest'oggi inizieremo un percorso che ci porterà a studiare, ed eventualmente ripassare, quelle che sono le basi della programmazione. Inizieremo parlando di variaibli. Introduzione Chiunque voglia approcciarsi al…

Come configurare Google reCAPTCHA v3 in un form PHP

Un semplice esempio che mostra come aggiungere il nuovo Google reCAPTCHA v3 a un modulo PHP. reCAPTCHA v3 aiuta a rilevare il traffico abusivo senza dar fastidio agli utenti del nostro…

Php 7.2: Tutte le novitá

Il 30 Novembre 2017 è previsto il rilascio di una nuova versione del linguaggio di programmazione PHP, la 7.2. Questa versione è il frutto di 6 mesi di test con…

Rilaciato PHP 7 versione stabile

Abbiamo dovuto attendere mesi...Finalmente, hanno finalmente rilasciato la versione stabile di PHP 7.0.0, major release nata con lo scopo di soddisfare le istanze della community in tema di miglioramento delle prestazioni…

Riconoscimento facciale: rilevare la prossimità di un volto in javascript

No, non è una prerogativa di Facebook...La Face Detection è una tecnologia informatica che determina la posizione e le dimensioni di volti umani rappresentati in immagini digitali. Sicuramente avrete già  visto…

Imparare a programmare: 5 ottime risorse

Programma o sarai programmato, scrive Douglas Rushkoff. Douglas Rushkoff parte dal punto in cui aveva finito Marshall McLuhan, indirizzando i lettori a riconoscere la programmazione come la nuova alfabetizzazione dell'era digitale, un modello attraverso il quale vedere oltre le convenzioni sociali e le strutture di potere…

jQuery: consigli e trucchi utili per migliorare le performance di un sito web

Quando si sviluppa in jQuery ci si rende conto che esistono diverse maniere di implementare la stessa cosa. La tendenza è di migliorare e semplificare sempre più scrivendo meno righe di…

Winginx, un server nginx completo per windows

Quando abbiamo bisogno di montare un server Apache su Windows o Mac abbiamo opzioni WAMP e MAMP molto conosciute come XAMPP, tuttavia si stanno facendo popolari nuove soluzioni di server…

Javascript: 16+ risorse per utenti intermedi

JavaScript è un linguaggio di programmazione. Prima di imparare JavaScript, vi consigliamo di imparare le basi dell'HTML e dei CSS. Perché, come vedrete, HTML, CSS e JavaScript lavorano sempre insieme…

Le migliori estensioni di Firefox per sviluppatori web

Una delle pincipali ragioni della grande popolarità di Mozilla Firefox, oltre all'usabilità, è la sua enorme varietà di estensioni (add-ons) create con la finalità di migliorare l'esperienza di navigazione degli…

Clicky