C'era un dollaro di troppo prima della funzione date, corretto diventa così:
Codice PHP:
<?php
date_default_timezone_set("Europe/Rome");
$mesi = array(null, "Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre");
$mese = date('n');
echo "Il mese corrente è " . $mesi[$mese];
mktime serve per "impostare" una data, se vuoi mostrare un messaggio in base alla data corrente basta usare la funzione date. Tutto dipende da cosa vuoi stampare. Per il primo blocco direi qualcosa del genere:
Codice PHP:
echo "questa scritta appare solo perché oggi è il " . date("d/m/Y");
Per il secondo puoi usare un altro vettore di lookup con i nomi dei numeri ordinali:
Codice PHP:
$ordinali = array(null, "primo", "secondo", "terzo", "quarto", "quinto", "sesto", "settimo", "ottavo", "nono", "decimo", "undicesimo", "dodicesimo");
echo $mesi[$mese] . " è il " . $ordinali[$mese] . " mese ecc. ecc.";
Non c'è bisogno di richiamare ogni volta date_default_timezone_set, una è sufficiente.