Skip to content

Instantly share code, notes, and snippets.

@patrick246
Created May 28, 2014 13:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save patrick246/9889ad2064e464829453 to your computer and use it in GitHub Desktop.
Save patrick246/9889ad2064e464829453 to your computer and use it in GitHub Desktop.
Increment a filename in PHP
function incrementFilename($filename)
{
$info = pathinfo($filename);
$dirname = $info['dirname']=='.' ? '' : $info['dirname'];
$extension = $info['extension'];
$basename = basename($info['basename'], '.' . $extension);
$arr = explode('_', $basename);
if(isset($arr[count($arr)-1]) && is_numeric($arr[count($arr)-1]) && count($arr)-1 != 0)
{
$arr[count($arr)-1] = (intval($arr[count($arr)-1])+1);
$basename = "";
$first = true;
foreach($arr as $val)
{
$basename .= (($first)?'' : '_') . $val;
if($first)
$first = false;
}
return $dirname . '/' . $basename . '.' . $extension;
}
else
{
return $dirname . '/' . $basename . '_1.' . $extension;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment