Mi sono accorto di aver commesso un piccolo errore di distrazione:
Ho dichiarato l'oggetto dir come:
Codice PHP:
$dir dir(); 
Mentro nel while che effettua il conteggio ho nominato una variabile $d che invece non esiste, deve essere rimpiazzata con $dir:

La riga
Codice PHP:
while ($file $d->read()) { 
Deve essere cambiata in
Codice PHP:
while ($file $dir->read()) { 
Scusa ancora per l'imprecisione e per il ritardo, ma la soluzione proposta da leno mi sembra migliore, in quanto ti fa risparmiare righe di codice e ti permette di affettuare eventuali modifiche con facilità