function _print_drush_download_file in Printer, email and PDF versions 7.2
Download a file using wget or curl.
Adapted from a function in drush/includes/drush.inc to support 302 redirects.
Parameters
string $download_url: The path to the file to download.
Return value
string The filename that was downloaded, or NULL if the file could not be downloaded.
2 calls to _print_drush_download_file()
- _print_drush_download_lib in includes/print.drush.inc 
- Download and extract the lib.
- _print_drush_github_latest_url in includes/print.drush.inc 
- Get filename of latest from github.
File
- includes/print.drush.inc, line 100 
- Common drush functions for the print submodules.
Code
function _print_drush_download_file($download_url) {
  if (!drush_get_context('DRUSH_SIMULATE')) {
    $wget_ret = drush_shell_exec("wget -nv --content-disposition %s", $download_url);
    if ($wget_ret) {
      // Get the filename of the saved file from the output.
      $wget_out = explode('"', array_shift(drush_shell_exec_output()));
      $filename = $wget_out[1];
    }
    else {
      $tempnam = uniqid('print_drush_');
      $curl_ret = drush_shell_exec("curl -s -L -o %s %s -w '%%{url_effective}'", $tempnam, $download_url);
      if ($curl_ret) {
        // File was downloaded with the temporary name.
        // Find the effective name.
        $filename = explode('/', array_shift(drush_shell_exec_output()));
        $filename = array_pop($filename);
        // Rename file from tempname to effective name.
        if (!drush_op('rename', $tempnam, './' . $filename)) {
          $filename = $tempnam;
        }
      }
      else {
        $filename = FALSE;
      }
    }
  }
  else {
    $filename = basename($download_url);
  }
  return $filename;
}