From: Michael Wallner This function returns a valid HTTP date regarding RFC 822/1123 This function returns an absolute URI constructed from url. Some examples:http.c
+string http_date([int timestamp])
+
+looking like: "Wed, 22 Dec 2004 11:34:47 GMT"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
+
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';
?>
+
+
+
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');
}
?>
+
+
+
Send HTTP status code.
+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.
Matches the given timestamp against the clients "If-Modified-Since" resp.
+"If-Unmodified-Since" HTTP headers.
This matches the given ETag against the clients
+"If-Match" resp. "If-None-Match" HTTP headers.
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.
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.
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.
Sends raw data with support for (multiple) range requests.
+Sends a file with support for (multiple) range requests.
+Sends an already opened stream with support for (multiple) range requests.
+Sets the content type.
+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).
This function decodes a string that was HTTP-chunked encoded.
+Returns false on failure.
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!"
+);
+
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()).
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.
Performs an HTTP POST request, posting data.
+Returns the HTTP response as string.
+See http_get() for a full list of available options.
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.
Example:
+
+
+
+<?php
if (!http_auth_basic('mike', 's3c|r3t')) {
die('<h1>Authorization failed!</h1>');
}
?>
+
+
+
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
+ +