X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=docs%2Ffunctions.html;h=24955b17b6e1e624922ae5c9e584677eff011dca;hp=eba8d60cefc2c3838f84a949e2bda4c8ef4c3c6c;hb=a12e8ddfaa5a94e76261f165b0c0299c87b886b1;hpb=a856e9055f2de647fdb3c7ff89238f6b17a1217e diff --git a/docs/functions.html b/docs/functions.html index eba8d60..24955b1 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -1,209 +1,316 @@ -Function Summary - - -

http.c

-

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])

-

This function returns a valid HTTP date regarding RFC 822/1123 + + Function Summary of ext/http + + +

http_functions.c

+

string http_date([int timestamp])

+

This function returns a valid HTTP date regarding RFC 822/1123
looking like: "Wed, 22 Dec 2004 11:34:47 GMT"

-

string http_absolute_uri(string url[, string proto])

-

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: -

-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])

+

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:

 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_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_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_send_content_type([string content_type = 'application/x-octetstream'])

+

Sets the content type.

+

bool http_send_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).

+

bool http_match_modified([int timestamp[, for_range = false]])

+

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[, for_range = false])

+

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.

-

string ob_httpetaghandler(string data, int mode)

-

For use with ob_start(). -Note that this has to be started as first output buffer. +

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, +

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'])

-

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 -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:

-
-<?php
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)

+

+

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
+ - resume: int, byte offset to start the download from;
+ if the server supports ranges
+ - maxfilesize: int, maximum file size that should be downloaded;
+ has no effect, if the size of the requested entity is not known
+ - lastmodified: int, timestamp for If-(Un)Modified-Since header
+ - timeout: int, seconds the request may take
+ - connecttimeout: int, seconds the connect may take

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,
)
?>
+

+

+

-

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, 17 Feb 2005 22:42:18 +0100

+

string http_build_query(mixed formdata [, string prefix])

+

Generates a form-encoded query string from an associative array or object.

+
+

http_methods.c

+

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()

+

+

void HTTPi_Request::__construct([string url[, long request_method = HTTP_GET]])

+

+

void HTTPi_Request::__destruct()

+

+

bool HTTPi_Request::setOptions(array options)

+

+

array HTTPi_Request::getOptions()

+

+

bool HTTPi_Request::setURL(string url)

+

+

string HTTPi_Request::getUrl()

+

+

bool HTTPi_Request::setMethod(long request_method)

+

+

long HTTPi_Request::getMethod()

+

+

bool HTTPi_Request::setContentType(string content_type)

+

+

string HTTPi_Request::getContentType()

+

+

bool HTTPi_Request::setQueryData(mixed query_data)

+

+

string HTTPi_Request::getQueryData()

+

+

bool HTTPi_Request::addQueryData(array query_params)

+

+

void HTTPi_Request::unsetQueryData()

+

+

bool HTTPi_Request::addPostData(array post_data)

+

+

bool HTTPi_Request::setPostData(array post_data)

+

+

array HTTPi_Request::getPostData()

+

+

void HTTPi_Request::unsetPostData()

+

+

bool HTTPi_Request::addPostFile(string name, string file[, string content_type = "application/x-octetstream"])

+

+

array HTTPi_Request::getPostFiles()

+

+

void HTTPi_Request::unsetPostFiles()

+

+

array HTTPi_Request::getResponseData()

+

+

array HTTPi_Request::getResponseHeaders()

+

+

string HTTPi_Request::getResponseBody()

+

+

array HTTPi_Request::getResponseInfo()

+

+

bool HTTPi_Request::send()

+

+
+

Generated at: Fri, 4 Mar 2005 14:02:55 +0100

- + \ No newline at end of file