Yo lo haria de otra forma...
Código PHP:
Ver original<?php
function checkNameFile($file) {
$fileExists = true;
$countFiles = 1;
while($fileExists) {
$tempNameFile = stre_replace('.jpg','',$file);
$tempNameFile = $tempNameFile.'_'.$countFiles.'.jpg';
$newNameFile = $tempNameFile;
$fileExists = false;
}
$countFiles++;
}
}else {
$newNameFile = $file;
}
return $newNameFile;
}
//La forma de utilizarlo es
$file = 'imagen.jpg';
$newName = checkNameFile($file);
/**
* Si no existe imagen.jpg regresara el nombre original (imagen.jpg), en caso
* contrario, si existe buscará algun nombre que no este ocupado...
* imagen.jpg
* imagen_1.jpg
* imagen_2.jpg
* etc
*/
Ojo, lo he hecho al vuelo, así que no lo eh probado >.<