http_match_etag
(PECL pecl_http >= 0.1.0)
http_match_etag — Match ETag
Описание
bool http_match_etag
( string
$etag
[, bool $for_range
= false
] )Matches the given ETag against the clients If-Match resp. If-None-Match HTTP headers.
Список параметров
-
etag
-
the ETag to match
-
for_range
-
if set to
TRUE
, the header usually used to validate HTTP ranges will be checked
Возвращаемые значения
Returns TRUE
if ETag matches or the header contained the asterisk ("*"), else FALSE
.
Смотрите также
- http_match_last_modified()
- http_match_request_header() - Match any header
- http_cache_etag() - Caching by ETag
- http_cache_last_modified() - Caching by last modification
- ob_etaghandler() - ETag output handler
[an error occurred while processing the directive]
- http_cache_etag
- http_cache_last_modified
- http_chunked_decode
- http_deflate
- http_inflate
- http_build_cookie
- http_date
- http_get_request_body_stream
- http_get_request_body
- http_get_request_headers
- http_match_etag
- http_match_modified
- http_match_request_header
- http_support
- http_negotiate_charset
- http_negotiate_content_type
- http_negotiate_language
- ob_deflatehandler
- ob_etaghandler
- ob_inflatehandler
- http_parse_cookie
- http_parse_headers
- http_parse_message
- http_parse_params
- http_persistent_handles_clean
- http_persistent_handles_count
- http_persistent_handles_ident
- http_get
- http_head
- http_post_data
- http_post_fields
- http_put_data
- http_put_file
- http_put_stream
- http_request_body_encode
- http_request_method_exists
- http_request_method_name
- http_request_method_register
- http_request_method_unregister
- http_request
- http_redirect
- http_send_content_disposition
- http_send_content_type
- http_send_data
- http_send_file
- http_send_last_modified
- http_send_status
- http_send_stream
- http_throttle
- http_build_str
- http_build_url
Коментарии
An Apache-like ETag can be generated like this:
<?php
function etag($filename, $quote = true) {
if (!file_exists($filename) || !($info = stat($filename))) {
return false;
}
$q = ($quote) ? '"' : '';
return sprintf("$q%x-%x-%x$q", $info['ino'], $info['size'], $info['mtime']);
}
?>
Regarding the 20071101 note of "root at mantoru dot de":
That solution got me started but didn't quite work for me. Apache (at least 2.x) applies an algorithm to the Last-Modified time. A solution that worked perfectly for me is at http://us3.php.net/manual/en/function.fileinode.php#78264.
Richard