install_retrieve_file($uri, $destination)
Attempts to get a file using a HTTP request and to store it locally.
Parameters
string $uri: The URI of the file to grab.
string $destination: Stream wrapper URI specifying where the file should be placed. If a directory path is provided, the file is saved into that directory under its original name. If the path contains a filename as well, that one will be used instead.
Return value
bool TRUE on success, FALSE on failure.
File
- core/includes/install.core.inc, line 1359
- API functions for installing Drupal.
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | function install_retrieve_file( $uri , $destination ) { $parsed_url = parse_url ( $uri ); if ( is_dir (drupal_realpath( $destination ))) { // Prevent URIs with triple slashes when gluing parts together. $path = str_replace ( '///' , '//' , "$destination/" ) . drupal_basename( $parsed_url [ 'path' ]); } else { $path = $destination ; } try { $response = \Drupal::httpClient()->get( $uri , array ( 'headers' => array ( 'Accept' => 'text/plain' ))); $data = (string) $response ->getBody(); if ( empty ( $data )) { return FALSE; } } catch (RequestException $e ) { return FALSE; } return file_put_contents ( $path , $data ) !== FALSE; } |
Please login to continue.