Post

Archivio di July, 2007

PHP: creare un feed RSS

Per creare un feed RSS è sufficiente avere una tabella di notizie, eventi etc con i seguenti dati:

  • titolo
  • descrizione
  • link

Per farlo possiamo usare la comoda classe feedcreator, da scaricare qui.

Il codice della nostra pagina di creazione feed sarà questo:

<?

include("feedcreator.class.php");
$rss = new UniversalFeedCreator();
$rss->useCached();
$rss->title = "Feed di htmlblog.info"; // titolo del feed
$rss->description = "Tutto quello che vi serve sapere sui feed in PHP"; // descrizione
$rss->link = "http://www.htmlblog.info"; // link del sito
$rss->syndicationURL = "http://www.tremcards.it/".$PHP_SELF; // link del file RSS

$image = new FeedImage();
$image->title = "logo htmlblog.info"; // logo
$image->url = "http://www.htmlblog.info/images/logo.jpg"; // file del logo
$image->link = "http://www.htmlblog.info"; // link a cui vogliamo che punti
$image->description = "Feed fornito da www.tremcards.it. Clicca sull'immagine per visitare il sito.";
$rss->image = $image;

$query="SELECT * from notizie ORDER BY data DESC";

$res = mysql_query($query);
while ($data = mysql_fetch_object($res)) {
$item = new FeedItem();
$item->title = stripslashes($data->titolo); // titolo della notizia
$item->link = "http://www.htmlblog.info/news".$data->IDnotizia.".html"; // link alla
// singola notizia
$item->description = $data->notizia; // breve descrizione
$item->date = $data->data; // data di pubblicazione
$item->source = "http://www.htmlblog.info"; // url di origine della notizia
$item->author = "Staff di htmlblog.info"; // autore

$rss->addItem($item);
}

$rss->saveFeed("RSS1.0", "rss/feednews.xml");
?>

Fatto! L’unica cosa da ricordarsi è di creare la directory rss/ e dargli i permessi di lettura.

Leggere i nomi dei file di una directory

Per leggere i nomi dei file in una directory Unix si può usare il comodo comando:

$a = glob("nome_dir/*");

che restituisce un array con le path di tutti i file della directory (esclusi quelli nascosti)

Preload dei rollover con i CSS

Per fare il preload delle immagini rollover, evitando quello “stacco” quando si caricano i rollover per la prima volta, si possono usare i CSS:

a { background-image: url('immaginehover.gif'); }

a:link, a:visited { background-image: url('immagine.gif'); }

a:hover { background-image: url('immaginehover.gif'); }

In questo modo, per tutti i tipi di link viene caricata l’immagine “immaginehover.gif”, ma per i link normali (e per quelli visitati) viene mostrata “immagine.gif” (quella senza l’hover). A questo punto il browser avrà caricato tutte le immagini dell’hover la prima volta che avrete aperto la pagina, e quindi quando andrete sul link con il mouse non dovrà caricare alcuna immagine.

Archivi e link