Imbastita un po' di fretta ma più o meno dovrebbe forse in qualche modo chissà (speriamo!) andare:
Codice PHP:


$cartella 
'/dove/tieni/i/files';

if (
$puntat opendir($cartella)) {

    
// Questo è solo un contatore
    
$i 0;
    
// Qui scorro tutta la cartella
    
while (false !== ($file readdir($puntat))) {
        
$filesnellacartella[$i] = $file;
        
$i++;
    }
    
closedir($handle);
    
$nome $_FILES['miofile']['name'];
$pezzidifile explode("."$nome); // Questo serve per dividere la stringa ogni volta che c'è un punto
$posizione sizeof($pezzidifile) - 1// Questo è un metodo POCO elegante per prendere l'ultima posizione di un array
$estensione $pezzidifile[$posizione]; // Ora che sappiamo la posizione dell'estensione nell'array del nome, la recuperiamo puntando all'ultimo pezzo di stringa
$nome "file" . (sizeof($filesnellacartella) + 1) . "." $estensione// Collegiamo l'estensione al file ricordandoci di infilarci un punto in mezzo (te l'ho messo volutamente staccato dal nome del file per fartelo vedere)

Scusa sto andando a mangiare, se c'è qualche problema posta che poi correggo, ora non ho molto tempo!
Ah, nota che nell'ultimo $nome ho aggiunto un modo artigianale per contare il numero di files nella cartella e dargli un numero sequenziale... Ci sarà sicuramente un modo più veloce, se mi viene in mente te lo posto dopo!
buon appetito!