se hai PHP 5 puoi usare la funzione scandir, che restituisce un array contente tutto il contenuto di una cartella (files + sotto-cartelle). quindi scorrendo l'array e controllando queli sono realmente i files (funzione is_file) incrementi un contatore. Scritto al volo senza testarlo:

Codice PHP:
function files_counter($path) {
    
$folder_content scandir($path);
    
$files_num 0;
    
print_r($folder_content);
    foreach (
$folder_content AS $val) {
        if (
is_file($val))
            
$files_num++;
    }
    unset(
$val);
    unset(
$folder_content);
    
    return 
$files_num;

documentazione: http://it2.php.net/manual/it/function.scandir.php
se hai PHP 4 invece guarda l'esempio che c'è sempre in quella pagina.