public function FileSystem::moveUploadedFile

public FileSystem::moveUploadedFile($filename, $uri)

Moves an uploaded file to a new location.

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

Compatibility: normal paths and stream wrappers.

Parameters

string $filename: The filename of the uploaded file.

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

Return value

bool TRUE on success, or FALSE on failure.

Overrides FileSystemInterface::moveUploadedFile

See also

move_uploaded_file()

https://www.drupal.org/node/515192

File

core/lib/Drupal/Core/File/FileSystem.php, line 64

Class

FileSystem
Provides helpers to operate on files and stream wrappers.

Namespace

Drupal\Core\File

Code

public function moveUploadedFile($filename, $uri) {
  $result = @move_uploaded_file($filename, $uri);
  // PHP's move_uploaded_file() does not properly support streams if
  // open_basedir is enabled so if the move failed, try finding a real path
  // and retry the move operation.
  if (!$result) {
    if ($realpath = $this->realpath($uri)) {
      $result = move_uploaded_file($filename, $realpath);
    }
    else {
      $result = move_uploaded_file($filename, $uri);
    }
  }

  return $result;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!File!FileSystem.php/function/FileSystem::moveUploadedFile/8.1.x