Community Documentation

file_create_filename

5 file.inc file_create_filename($basename, $directory)
6 file.inc file_create_filename($basename, $directory)
7 file.inc file_create_filename($basename, $directory)
8 file.inc file_create_filename($basename, $directory)

Create a full file path from a directory and filename. If a file with the specified name already exists, an alternative will be used.

Parameters

$basename string filename:

$directory string directory:

Related topics

▾ 4 functions call file_create_filename()

theme_upload_attachments in modules/upload/upload.module
Displays file attachments in table
upload_menu in modules/upload/upload.module
Implementation of hook_menu().
upload_nodeapi in modules/upload/upload.module
Implementation of hook_nodeapi().
_upload_form in modules/upload/upload.module

File

includes/file.inc, line 435
API for handling file uploads and server file management.

Code

<?php
function file_create_filename($basename, $directory) {
  $dest = $directory . '/' . $basename;

  if (file_exists($dest)) {
    // Destination file already exists, generate an alternative.
    if ($pos = strrpos($basename, '.')) {
      $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 $dest;
}
?>
Login or register to post comments