MDL-11276, average calculations are inaccurate in percentage form due to double rounding
[moodle-pu.git] / lib / libcurlemu / README
blobde1837038a54afbd7666eae431544377f387ec59
1 CURL Extension Emulation Library
2 Version 1.0.3
3 Copyright 2004-2005, Steve Blinch
4 http://code.blitzaffe.com
5 ============================================================================
7 DESCRIPTION
9 Provides a pure-PHP implementation of the PHP CURL extension, for use on
10 systems which do not already have the CURL extension installed.  It emulates
11 all of the curl_* functions normally provided by the CURL extension itself.
13 This will automatically detect and use the best CURL implementation available
14 on your server.  It will attempt the following, in order:
16 1) Check for the existence of the "real" CURL PHP Extension.  If it is
17 loaded, the library will do nothing (and it will not interfere with the
18 "real" extension).
19 2) Check for the existence of the CURL console binary (usually located in
20 /usr/bin/curl).  If found, the library will emulate the CURL PHP
21 extension (including all curl_* functions) and use the console binary
22 to execute all requests.
23 3) If neither the "real" CURL PHP Extension nor the CURL console binary
24 are available, the library will emulate the CURL PHP extension (including
25 all curl_* functions) using a native, pure-PHP HTTP client implementation.
26 This implementation is somewhat limited, but it provides support for most
27 of the common CURL options.  HTTPS (SSL) support is available in this
28 mode under PHP 4.3.0 if the OpenSSL Extension is loaded.
30 Thus, by including this library in your project, you can rely on having some
31 level of CURL support regardless of the configuration of the server on which
32 it is being used.
35 USAGE
37 Simply copy all of the libcurlemu files into your project directory, then:
39 require_once("libcurlemu.inc.php");
41 After this, you can use all of the curl_* functions documented in the PHP
42 Manual.
45 EXAMPLE
47 // CURL Extension Emulation Library Example
49 // Usage should be straightforward; you simply use this script exactly as you
50 // would normally use the PHP CURL extension functions.
52 // first, include libcurlemu.inc.php
53 require_once('libcurlemu.inc.php');
55 // at this point, libcurlemu has detected the best available CURL solution
56 // (either the CURL extension, if available, or the CURL commandline binary,
57 // if available, or as a last resort, HTTPRetriever, our native-PHP HTTP
58 // client implementation) and has implemented the curl_* functions if
59 // necessary, so you can use CURL normally and safely assume that all CURL
60 // functions are available.
62 // the rest of this example code is copied straight from the PHP manual's
63 // reference for the curl_init() function, and will work fine with libcurlemu
65 // create a new CURL resource
66 $ch = curl_init();
68 // set URL and other appropriate options
69 curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
70 curl_setopt($ch, CURLOPT_HEADER, false);
72 // grab URL and pass it to the browser
73 curl_exec($ch);
75 // close CURL resource, and free up system resources
76 curl_close($ch);
79 LICENSE
81 This script is free software; you can redistribute it and/or modify it under the
82 terms of the GNU General Public License as published by the Free Software
83 Foundation; either version 2 of the License, or (at your option) any later
84 version.
86 This script is distributed in the hope that it will be useful, but WITHOUT ANY
87 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
88 FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
89 details.
91 You should have received a copy of the GNU General Public License along
92 with this script; if not, write to the Free Software Foundation, Inc.,
93 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA