_fetch_remote_file() WordPress Function
The fetch_remote_file() function allows you to download a remote file and store it on your local server. This is useful if you want to keep a local copy of a file that is regularly updated on a remote server. The function takes two parameters: the URL of the remote file and the path to the local file.
_fetch_remote_file( string $url, array $headers = "" ) #
Retrieve URL headers and content using WP HTTP Request API.
Parameters
- $url
(string)(Required)URL to retrieve
- $headers
(array)(Optional) Headers to send to the URL.
Default value: ""
Return
(Snoopy) style response
Source
File: wp-includes/rss.php
function _fetch_remote_file($url, $headers = "" ) { $resp = wp_safe_remote_request( $url, array( 'headers' => $headers, 'timeout' => MAGPIE_FETCH_TIME_OUT ) ); if ( is_wp_error($resp) ) { $error = array_shift($resp->errors); $resp = new stdClass; $resp->status = 500; $resp->response_code = 500; $resp->error = $error[0] . "\n"; //\n = Snoopy compatibility return $resp; } // Snoopy returns headers unprocessed. // Also note, WP_HTTP lowercases all keys, Snoopy did not. $return_headers = array(); foreach ( wp_remote_retrieve_headers( $resp ) as $key => $value ) { if ( !is_array($value) ) { $return_headers[] = "$key: $value"; } else { foreach ( $value as $v ) $return_headers[] = "$key: $v"; } } $response = new stdClass; $response->status = wp_remote_retrieve_response_code( $resp ); $response->response_code = wp_remote_retrieve_response_code( $resp ); $response->headers = $return_headers; $response->results = wp_remote_retrieve_body( $resp ); return $response; }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
1.5.0 | Introduced. |