1 installer.manager.inc | installer_manager_file_get($url) |
Copies a file from the specified URL to the temporary directory for updates.
Returns the local path if the file has already been downloaded.
Parameters
$url: The URL of the file on the server.
Return value
string: Path to local file.
Related topics
File
- core/
modules/ installer/ installer.manager.inc, line 1063 - Administrative screens and processing functions of the Installer module.
Code
function installer_manager_file_get($url) {
$parsed_url = parse_url($url);
$remote_schemes = array('http', 'https', 'ftp', 'ftps', 'smb', 'nfs');
if (!in_array($parsed_url['scheme'], $remote_schemes)) {
// This is a local file, just return the path.
return backdrop_realpath($url);
}
// Check the cache and download the file if needed.
$cache_directory = _installer_manager_cache_directory();
$local = $cache_directory . '/' . backdrop_basename($parsed_url['path']);
installer_delete_file_if_stale($local);
if (!file_exists($local)) {
return system_retrieve_file($url, $local, FALSE, FILE_EXISTS_REPLACE);
}
else {
return $local;
}
}