From a856e9055f2de647fdb3c7ff89238f6b17a1217e Mon Sep 17 00:00:00 2001
From: Michael Wallner This function returns a valid HTTP date regarding RFC 822/1123 This function returns a valid HTTP date regarding RFC 822/1123
looking like: "Wed, 22 Dec 2004 11:34:47 GMT" This function returns an absolute URI constructed from url. Some examples: This function returns an absolute URI constructed from url.
+If the url is already abolute but a different proto was supplied,
+only the proto part of the URI will be updated. If url has no
+path specified, the path of the current REQUEST_URI will be taken.
+The host will be taken either from the Host HTTP header of the client
+the SERVER_NAME or just localhost if prior are not available. Some examples:
+http.c
-string http_date([int timestamp])
-
+void HTTPi_Response::__construct(bool cache, bool gzip)
+
+bool HTTPi_Response::setCache(bool cache)
+
+bool HTTPi_Response::getCache()
+
+bool HTTPi_Response::setGzip(bool gzip)
+
+bool HTTPi_Response::getGzip()
+
+bool HTTPi_Response::setCacheControl(string control[, bool raw = false])
+
+string HTTPi_Response::getCacheControl()
+
+bool HTTPi::setContentType(string content_type)
+
+string HTTPi_Response::getContentType()
+
+bool HTTPi_Response::setContentDisposition(string filename[, bool inline = false])
+
+array HTTPi_Response::getContentDisposition()
+
+bool HTTPi_Response::setETag(string etag)
+
+string HTTPi_Response::getETag()
+
+bool HTTPi_Response::setData(string data)
+
+string HTTPi_Response::getData()
+
+bool HTTPi_Response::setStream(resource stream)
+
+resource HTTPi_Response::getStream()
+
+bool HTTPi_Response::setFile(string file)
+
+string HTTPi_Response::getFile()
+
+int HTTPi_Response::getSize()
+
+string http_date([int timestamp])
+string http_absolute_uri(string url[, string proto])
-
-If the url is already abolute but a different proto was supplied,
-only the proto part of the URI will be updated. If url has no
-path specified, the path of the current REQUEST_URI will be taken.
-The host will be taken either from the Host HTTP header of the client
-the SERVER_NAME or just localhost if prior are not available.
-
-url = "page.php" => http://www.example.com/current/path/page.php
-url = "/page.php" => http://www.example.com/page.php
-url = "/page.php", proto = "https" => https://www.example.com/page.php
+string http_absolute_uri(string url[, string proto])
+
+url = "page.php" => http://www.example.com/current/path/page.php
+url = "/page.php" => http://www.example.com/page.php
+url = "/page.php", proto = "https" => https://www.example.com/page.php
This function negotiates the clients preferred language based on its
-Accept-Language HTTP header. It returns the negotiated language or
-the default language if none match.
The qualifier is recognized and languages without qualifier are rated highest.
The supported parameter is expected to be an array having
-the supported languages as array values.
Example:
-
-
-<?php
$langs = array(
'en-US',// default
'fr',
'fr-FR',
'de',
'de-DE',
'de-AT',
'de-CH',
);
include './langs/'. http_negotiate_language($langs) .'.php';
?>
-
-
+string http_negotiate_language(array supported[, string default = 'en-US'])
+This function negotiates the clients preferred language based on its +Accept-Language HTTP header. It returns the negotiated language or +the default language if none match.
The qualifier is recognized and languages without qualifier are rated highest.
The supported parameter is expected to be an array having +the supported languages as array values.
Example: +
+-+<?php
$langs = array(
'en-US',// default
'fr',
'fr-FR',
'de',
'de-DE',
'de-AT',
'de-CH',
);
include './langs/'. http_negotiate_language($langs) .'.php';
?> + +string http_negotiate_charset(array supported[, string default = 'iso-8859-1'])
-This function negotiates the clients preferred charset based on its
-Accept-Charset HTTP header. It returns the negotiated charset or
-the default charset if none match.The qualifier is recognized and charset without qualifier are rated highest.
The supported parameter is expected to be an array having
-the supported charsets as array values.Example:
-
-
-<?php
$charsets = array(
'iso-8859-1', // default
'iso-8859-2',
'iso-8859-15',
'utf-8'
);
$pref = http_negotiate_charset($charsets);
if (!strcmp($pref, 'iso-8859-1')) {
iconv_set_encoding('internal_encoding', 'iso-8859-1');
iconv_set_encoding('output_encoding', $pref);
ob_start('ob_iconv_handler');
}
?>
-
-
+string http_negotiate_charset(array supported[, string default = 'iso-8859-1'])
+This function negotiates the clients preferred charset based on its +Accept-Charset HTTP header. It returns the negotiated charset or +the default charset if none match.
The qualifier is recognized and charset without qualifier are rated highest.
The supported parameter is expected to be an array having +the supported charsets as array values.
Example: +
+-+<?php
$charsets = array(
'iso-8859-1', // default
'iso-8859-2',
'iso-8859-15',
'utf-8'
);
$pref = http_negotiate_charset($charsets);
if (!strcmp($pref, 'iso-8859-1')) {
iconv_set_encoding('internal_encoding', 'iso-8859-1');
iconv_set_encoding('output_encoding', $pref);
ob_start('ob_iconv_handler');
}
?> + +bool http_send_status(int status)
+bool http_send_status(int status)
Send HTTP status code.
-bool http_send_last_modified([int timestamp])
-This converts the given timestamp to a valid HTTP date and
-sends it as "Last-Modified" HTTP header. If timestamp is
+bool http_send_last_modified([int timestamp])
+This converts the given timestamp to a valid HTTP date and +sends it as "Last-Modified" HTTP header. If timestamp is omitted, current time is sent.
-bool http_match_modified([int timestamp])
-Matches the given timestamp against the clients "If-Modified-Since" resp.
+bool http_match_modified([int timestamp])
+Matches the given timestamp against the clients "If-Modified-Since" resp. "If-Unmodified-Since" HTTP headers.
-bool http_match_etag(string etag)
-This matches the given ETag against the clients
+bool http_match_etag(string etag)
+This matches the given ETag against the clients "If-Match" resp. "If-None-Match" HTTP headers.
-bool http_cache_last_modified([int timestamp_or_expires]])
-If timestamp_or_exires is greater than 0, it is handled as timestamp
-and will be sent as date of last modification. If it is 0 or omitted,
-the current time will be sent as Last-Modified date. If it's negative,
-it is handled as expiration time in seconds, which means that if the
-requested last modification date is not between the calculated timespan,
+bool http_cache_last_modified([int timestamp_or_expires]])
+If timestamp_or_exires is greater than 0, it is handled as timestamp +and will be sent as date of last modification. If it is 0 or omitted, +the current time will be sent as Last-Modified date. If it's negative, +it is handled as expiration time in seconds, which means that if the +requested last modification date is not between the calculated timespan, the Last-Modified header is updated and the actual body will be sent.
-bool http_cache_etag([string etag])
-This function attempts to cache the HTTP body based on an ETag,
-either supplied or generated through calculation of the MD5
-checksum of the output (uses output buffering).If clients "If-None-Match" header matches the supplied/calculated
-ETag, the body is considered cached on the clients side and
+bool http_cache_etag([string etag])
+This function attempts to cache the HTTP body based on an ETag, +either supplied or generated through calculation of the MD5 +checksum of the output (uses output buffering).
If clients "If-None-Match" header matches the supplied/calculated +ETag, the body is considered cached on the clients side and a "304 Not Modified" status code is issued.
-void http_redirect([string url[, array params[, bool session,[ bool permanent]]]])
-Redirect to a given url.
-The supplied url will be expanded with http_absolute_uri(), the params array will
-be treated with http_build_query() and the session identification will be appended
-if session is true.Depending on permanent the redirection will be issued with a permanent
-("301 Moved Permanently") or a temporary ("302 Found") redirection
-status code.To be RFC compliant, "Redirecting to URI." will be displayed,
+string ob_httpetaghandler(string data, int mode)
+For use with ob_start(). +Note that this has to be started as first output buffer. +WARNING: Don't use with http_send_*().
+void http_redirect([string url[, array params[, bool session,[ bool permanent]]]])
+Redirect to a given url. +The supplied url will be expanded with http_absolute_uri(), the params array will +be treated with http_build_query() and the session identification will be appended +if session is true.
Depending on permanent the redirection will be issued with a permanent +("301 Moved Permanently") or a temporary ("302 Found") redirection +status code.
To be RFC compliant, "Redirecting to URI." will be displayed, if the client doesn't redirect immediatly.
-bool http_send_data(string data)
+bool http_send_data(string data)
Sends raw data with support for (multiple) range requests.
-bool http_send_file(string file)
+bool http_send_file(string file)
Sends a file with support for (multiple) range requests.
-bool http_send_stream(resource stream)
+bool http_send_stream(resource stream)
Sends an already opened stream with support for (multiple) range requests.
-bool http_content_type([string content_type = 'application/x-octetstream'])
+bool http_content_type([string content_type = 'application/x-octetstream'])
Sets the content type.
-bool http_content_disposition(string filename[, bool inline = false])
-Set the Content Disposition. The Content-Disposition header is very useful
-if the data actually sent came from a file or something similar, that should
+bool http_content_disposition(string filename[, bool inline = false])
+Set the Content Disposition. The Content-Disposition header is very useful +if the data actually sent came from a file or something similar, that should be "saved" by the client/user (i.e. by browsers "Save as..." popup window).
-string http_chunked_decode(string encoded)
-This function decodes a string that was HTTP-chunked encoded.
+string http_chunked_decode(string encoded)
+This function decodes a string that was HTTP-chunked encoded. Returns false on failure.
-array http_split_response(string http_response)
-This function splits an HTTP response into an array with headers and the
-content body. The returned array may look simliar to the following example:
-array(
-0 => array(
-'Status' => '200 Ok',
-'Content-Type' => 'text/plain',
-'Content-Language' => 'en-US'
-),
-1 => "Hello World!"
-);
+array http_split_response(string http_response)
+This function splits an HTTP response into an array with headers and the +content body. The returned array may look simliar to the following example:
+++<?php
+
array(
0 => array(
'Status' => '200 Ok',
'Content-Type' => 'text/plain',
'Content-Language' => 'en-US'
),
1 => "Hello World!\"
);
?> + +array http_parse_headers(string header)
+ +array http_get_request_headers(void)
+ +string http_get(string url[, array options[, array &info]])
+Performs an HTTP GET request on the supplied url.
The second parameter is expected to be an associative +array where the following keys will be recognized: +
+- redirect: int, whether and how many redirects to follow +- unrestrictedauth: bool, whether to continue sending credentials on +redirects to a different host +- proxyhost: string, proxy host in "host[:port]" format +- proxyport: int, use another proxy port as specified in proxyhost +- proxyauth: string, proxy credentials in "user:pass" format +- proxyauthtype: int, HTTP_AUTH_BASIC and/or HTTP_AUTH_NTLM +- httpauth: string, http credentials in "user:pass" format +- httpauthtype: int, HTTP_AUTH_BASIC, DIGEST and/or NTLM +- compress: bool, whether to allow gzip/deflate content encoding +(defaults to true) +- port: int, use another port as specified in the url +- referer: string, the referer to sends +- useragent: string, the user agent to send +(defaults to PECL::HTTP/version (PHP/version))) +- headers: array, list of custom headers as associative array +like array("header" => "value") +- cookies: array, list of cookies as associative array +like array("cookie" => "value") +- cookiestore: string, path to a file where cookies are/will be stored +The optional third parameter will be filled with some additional information +in form af an associative array, if supplied, like the following example: +
+-+<?php
array (
'effective_url' => 'http://localhost',
'response_code' => 403,
'total_time' => 0.017,
'namelookup_time' => 0.013,
'connect_time' => 0.014,
'pretransfer_time' => 0.014,
'size_upload' => 0,
'size_download' => 202,
'speed_download' => 11882,
'speed_upload' => 0,
'header_size' => 145,
'request_size' => 62,
'ssl_verifyresult' => 0,
'filetime' => -1,
'content_length_download' => 202,
'content_length_upload' => 0,
'starttransfer_time' => 0.017,
'content_type' => 'text/html; charset=iso-8859-1',
'redirect_time' => 0,
'redirect_count' => 0,
'private' => '',
'http_connectcode' => 0,
'httpauth_avail' => 0,
'proxyauth_avail' => 0,
)
?> + +array http_parse_headers(string header) */
- -string http_get(string url[, array options[, array &info]])
-Performs an HTTP GET request on the supplied url.
The second parameter is expected to be an associative
-array where the following keys will be recognized:
-
-- redirect: int, whether and how many redirects to follow
-- unrestrictedauth: bool, whether to continue sending credentials on
-redirects to a different host
-- proxyhost: string, proxy host in "host[:port]" format
-- proxyport: int, use another proxy port as specified in proxyhost
-- proxyauth: string, proxy credentials in "user:pass" format
-- proxyauthtype: int, HTTP_AUTH_BASIC and/or HTTP_AUTH_NTLM
-- httpauth: string, http credentials in "user:pass" format
-- httpauthtype: int, HTTP_AUTH_BASIC, DIGEST and/or NTLM
-- compress: bool, whether to allow gzip/deflate content encoding
-(defaults to true)
-- port: int, use another port as specified in the url
-- referer: string, the referer to sends
-- useragent: string, the user agent to send
-(defaults to PECL::HTTP/version (PHP/version)))
-- headers: array, list of custom headers as associative array
-like array("header" => "value")
-- cookies: array, list of cookies as associative array
-like array("cookie" => "value")
-- cookiestore: string, path to a file where cookies are/will be stored
-The optional third parameter will be filled with some additional information
-
-in form af an associative array, if supplied (don't forget to initialize it
-with NULL or array()).string http_head(string url[, array options[, array &info]])
-Performs an HTTP HEAD request on the suppied url.
-Returns the HTTP response as string.
+string http_head(string url[, array options[, array &info]])
+Performs an HTTP HEAD request on the suppied url. +Returns the HTTP response as string. See http_get() for a full list of available options.
-string http_post_data(string url, string data[, array options[, &info]])
-Performs an HTTP POST request, posting data.
-Returns the HTTP response as string.
+string http_post_data(string url, string data[, array options[, &info]])
+Performs an HTTP POST request, posting data. +Returns the HTTP response as string. See http_get() for a full list of available options.
-string http_post_array(string url, array data[, array options[, array &info]])
-Performs an HTTP POST request, posting www-form-urlencoded array data.
-Returns the HTTP response as string.
+string http_post_array(string url, array data[, array options[, array &info]])
+Performs an HTTP POST request, posting www-form-urlencoded array data. +Returns the HTTP response as string. See http_get() for a full list of available options.
-bool http_auth_basic(string user, string pass[, string realm = "Restricted"])
-Example:
-
-
-<?php
if (!http_auth_basic('mike', 's3c|r3t')) {
die('<h1>Authorization failed!</h1>');
}
?>
-
-
+bool http_auth_basic(string user, string pass[, string realm = "Restricted"])
+Example: +
+-+<?php
if (!http_auth_basic('mike', 's3c|r3t')) {
die('<h1>Authorization failed!</h1>');
}
?> + +bool http_auth_basic_cb(mixed callback[, string realm = "Restricted"])
-Example:
-
-
-<?php
function auth_cb($user, $pass)
{
global $db;
$query = 'SELECT pass FROM users WHERE user='. $db->quoteSmart($user);
if (strlen($realpass = $db->getOne($query)) {
return $pass === $realpass;
}
return false;
}
if (!http_auth_basic_cb('auth_cb')) {
die('<h1>Authorization failed</h1>');
}
?>
-
-
+bool http_auth_basic_cb(mixed callback[, string realm = "Restricted"])
+Example: +
+-+<?php
function auth_cb($user, $pass)
{
global $db;
$query = 'SELECT pass FROM users WHERE user='. $db->quoteSmart($user);
if (strlen($realpass = $db->getOne($query)) {
return $pass === $realpass;
}
return false;
}
if (!http_auth_basic_cb('auth_cb')) {
die('<h1>Authorization failed</h1>');
}
?> + +Generated at: Thu, 10 Feb 2005 19:51:45 +0100
+Generated at: Thu, 17 Feb 2005 22:42:18 +0100