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!