/** Creates a unique filename in the directory specified adding a counter suffix */ public static function createUniquefilename($basename, $directory) { $basename = UploadUtils::escapeStrangeChars($basename); $dest = $directory . DIRECTORY_SEPARATOR . $basename; if (file_exists($dest)) { // Destination file already exists, generate an alternative. $pos = strrpos($basename, '.'); if ($pos) { $name = substr($basename, 0, $pos); $ext = substr($basename, $pos); } else { $name = $basename; } $counter = 0; do { $dest = $directory . '/' . $name . '_' . $counter++ . $ext; } while (file_exists($dest)); } return basename($dest); }