CFLib.org – Common Function Library Project

createUniqueFileName(fullpath)

Last updated July 1, 2008
Download UDF

author

Marc Esher Marc Esher

Version: 3 | Requires: ColdFusion 5 | Library: FileSysLib

 
Rated 0 time(s). Average Rating: 0

Description:
Pass a full file path to this function; if the file exists, the function will return a new, unique file name.

Return Values:
Returns a string.

Example:

<cfset newFile = CreateUniqueFileName(GetCurrentTemplatePath())>
<cfoutput>Your New File Name: #newFile#</cfoutput>

Parameters:

Name Description Required
fullpath Full path to file. Yes

Full UDF Source:

<cfscript>
/**
* Creates a unique file name; used to prevent overwriting when moving or copying files from one location to another.
* v2, bug found with dots in path, bug found by joseph
* v3 - missing dot in extension, bug found by cheesecow
*
* @param fullpath      Full path to file. (Required)
* @return Returns a string.
* @author Marc Esher (marc.esher@cablespeed.com)
* @version 3, July 1, 2008
*/

function createUniqueFileName(fullPath){
var extension = "";
var thePath = "";
var newPath = arguments.fullPath;
var counter = 0;

if(listLen(arguments.fullPath,".") gte 2) extension = listLast(arguments.fullPath,".");
thePath = listDeleteAt(arguments.fullPath,listLen(arguments.fullPath,"."),".");

while(fileExists(newPath)){
counter = counter+1;
newPath = thePath & "_" & counter & "." & extension;
}
return newPath;
}
</cfscript>

Search CFLib.org


Latest Additions

Alan McCollough Alan McCollough added
forceBoolean
5 day(s) ago

Shawn Porter Shawn Porter added
DeMoronize
8 day(s) ago

Chris Carey Chris Carey added
readPropertiesFi...
8 day(s) ago

Randy Johnson Randy Johnson added
lastDayofWeek
11 day(s) ago

Top Rated

Barney Boisvert indentXml
Rated 5.0, 4 time(s)

James Sleeman                                     QuickSort
Rated 5.0, 3 time(s)

Nathan Dintenfass                                 queryColumnsToSt...
Rated 5.0, 3 time(s)

Kevin Pepperman generateSsccAsn
Rated 5.0, 3 time(s)

Created by Raymond Camden / Design by Justin Johnson