1.20.x file.inc backdrop_move_uploaded_file($filename, $uri)

Moves an uploaded file to a new location.

PHP's move_uploaded_file() does not properly support streams if safe_mode or open_basedir are enabled, so this function fills that gap.

Compatibility: normal paths and stream wrappers.

Parameters

$filename: The filename of the uploaded file.

$uri: A string containing the destination URI of the file.

Return value

TRUE on success, or FALSE on failure.:

See also

move_uploaded_file()

http://drupal.org/node/515192

Related topics

File

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

Code

function backdrop_move_uploaded_file($filename, $uri) {
  $result = @move_uploaded_file($filename, $uri);
  // PHP's move_uploaded_file() does not properly support streams if safe_mode
  // or open_basedir are enabled so if the move failed, try finding a real path
  // and retry the move operation.
  if (!$result) {
    if ($realpath = backdrop_realpath($uri)) {
      $result = move_uploaded_file($filename, $realpath);
    }
    else {
      $result = move_uploaded_file($filename, $uri);
    }
  }

  return $result;
}