Have fetch_file_contents() save the effective URL.

This commit is contained in:
JustAMacUser 2018-02-11 07:56:28 +00:00
parent 3f5f5bc73f
commit 7ae05ed790

View file

@ -11,6 +11,7 @@
$fetch_last_error_code = false; $fetch_last_error_code = false;
$fetch_last_content_type = false; $fetch_last_content_type = false;
$fetch_last_error_content = false; // curl only for the time being $fetch_last_error_content = false; // curl only for the time being
$fetch_effective_url = false;
$fetch_curl_used = false; $fetch_curl_used = false;
$suppress_debugging = false; $suppress_debugging = false;
@ -325,6 +326,7 @@
global $fetch_last_error_content; global $fetch_last_error_content;
global $fetch_last_content_type; global $fetch_last_content_type;
global $fetch_last_modified; global $fetch_last_modified;
global $fetch_effective_url;
global $fetch_curl_used; global $fetch_curl_used;
$fetch_last_error = false; $fetch_last_error = false;
@ -333,6 +335,7 @@
$fetch_last_content_type = ""; $fetch_last_content_type = "";
$fetch_curl_used = false; $fetch_curl_used = false;
$fetch_last_modified = ""; $fetch_last_modified = "";
$fetch_effective_url = "";
if (!is_array($options)) { if (!is_array($options)) {
@ -443,6 +446,8 @@
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$fetch_last_content_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE); $fetch_last_content_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
$fetch_effective_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
$fetch_last_error_code = $http_code; $fetch_last_error_code = $http_code;
if ($http_code != 200 || $type && strpos($fetch_last_content_type, "$type") === false) { if ($http_code != 200 || $type && strpos($fetch_last_content_type, "$type") === false) {
@ -504,6 +509,8 @@
$old_error = error_get_last(); $old_error = error_get_last();
$fetch_effective_url = $url;
$data = @file_get_contents($url, false, $context); $data = @file_get_contents($url, false, $context);
if (isset($http_response_header) && is_array($http_response_header)) { if (isset($http_response_header) && is_array($http_response_header)) {
@ -519,6 +526,8 @@
// e.g. if we were being redirected -- last one is the right one // e.g. if we were being redirected -- last one is the right one
} else if ($key == 'last-modified') { } else if ($key == 'last-modified') {
$fetch_last_modified = $value; $fetch_last_modified = $value;
} else if ($key == 'location') {
$fetch_effective_url = $value;
} }
} }