disign.it | Feed RSS: generare un feed in PHP | a digital sign for a best design!
A digital sign for a best design
Programmazione 2.533 visualizzazioni

Feed RSS: generare un feed in PHP

31/05/2013

I feed RSS sono uno strumento necessario per fornire agli utenti una serie di contenuti aggiornati di frequente.
I feed consentono agli utenti di iscriversi e ricevere le notizie pubblicate su blog e siti direttamente 'a casa', senza dover aprire il browser e andare a scoprire sito per sito dove ci siano delle novità.
Iscrivendosi a un feed, gli utenti non rivelano il loro indirizzo di posta elettronica e non si espongono alle minacce di spam, virus, phishing.
L'iscritto che vuole  interrompere la ricezione di notizie, non è obbligato a  inviare richieste di annullamento ma è sufficinete che rimuova il feed dal proprio aggregatore.


I feed utilizzano il formato XML.
Se vogliamo 'costruire' un un nostro feed dinamico attraverso il linguaggio PHP dobbiamo seguire poche semplici regole.
Ecco un listato di esempio attraverso cui realizzare un feed, come sempre da personalizzare e customizzare!

// Eseguo le operazioni di connessione al database MySQL
    include('conn.inc');

// Includo la funzione che crea una'nteprima delle prime righe del contenuto dell'articolo
    include('anteprima.php');

// Ricavo la data attuale e invio la query di selezione
    $ora = mktime();
    $selezione_dati = "SELECT * FROM nometabella where nomecampodata <= $ora ORDER BY ID DESC";
    $query = mysql_query($selezione_dati) or die(mysql_error());

// Modifico l'intestazione e il tipo di documento da PHP a XML
    header("Content-type: text/xml;  charset=utf-8");
    echo "\n";

// Eseguo le operazioni di scrittura sul file
    echo "";
    echo "\n";
    echo "I Feed del mio sito\n";
    echo "http://www.dominio.tld/feed.php\n";
    echo "descrizione\n";
    echo "Copyright 2013 mio sito\n";
    echo "http://blogs.law.harvard.edu/tech/rss\n";
    echo "miaemail@dominio.tld (Nome Cognome)\n";
    echo "webmaster@dominio.tld (Nome Cognome)\n";
    echo "IT-it\n";
    echo "\n";

// Imposto il ciclo di lettura dei post
        while($array = mysql_fetch_array($query)) {
    extract($array);
    $descrizione = @anteprima($nomecampoarticolo);   
    $titolo = strip_tags($nomecampotitolo);
    // eventuali regexp per 'pulire' il testo ricavato
    $titolo =  html_entity_decode($titolo, ENT_QUOTES, 'UTF-8');
    $descrizione =  html_entity_decode($descrizione,  ENT_QUOTES, 'UTF-8');
    echo "
    $titolo
    http://www.dominio.tld/nomefile.php?id=$id
    $descrizione
    \n";
                            }

// Chiudo l'Xml
    echo "\n";

RSS
← Sitemap dinamico PHP: calendario a partire dalla data corrente →

Invia una domanda o un commento sull'articolo

I campi obbligatori sono segnalati *

*

*



 

© 2009 - 2017 Impronte digitali di Luca Frassineti. Tutti i diritti riservati.