function feeds_imagegrabber_validate_download_size in Feeds Image Grabber 6
Same name and namespace in other branches
- 7 feeds_imagegrabber.module \feeds_imagegrabber_validate_download_size()
Validates the size of an file accessible through a http url.
Parameters
$file_url: A string specifying the formatted file url.
$max_size: Maximum size of the file to be downloaded.
$timeout: A float representing the maximum number of seconds the function call may take. The default is 10 seconds. If a timeout occurs, the retuen code is set to the FIG_HTTP_REQUEST_TIMEOUT constant.
$max_redirects: An integer representing how many times a redirect may be followed. Defaults to 3.
Return value
An integer code containing filesize in case the file exists and conforms to the size limit, -1 otherwise.
1 call to feeds_imagegrabber_validate_download_size()
File
- ./
feeds_imagegrabber.module, line 371 - Grabs image for each feed-item from their respective web pages and stores it in an image field. Requires Feeds module.
Code
function feeds_imagegrabber_validate_download_size($file_url, $max_size, $timeout = 10, $max_redirects = 3) {
$options = array(
'headers' => array(),
'method' => 'HEAD',
'data' => NULL,
'max_redirects' => $max_redirects,
'timeout' => $timeout,
);
$result = feeds_imagegrabber_http_request($file_url, $options);
if ($result->code == 200 && isset($result->headers) && is_array($result->headers)) {
//Bug #882992, some servers may return keys with different case.
$headers = array_change_key_case($result->headers);
if (isset($headers['content-length']) && $headers['content-length'] <= $max_size) {
return $headers['content-length'];
}
}
return -1;
}