'string'], default: '')] public $name; #[LanguageLevelTypeAware(['8.1' => 'string'], default: '')] public $mime; #[LanguageLevelTypeAware(['8.1' => 'string'], default: '')] public $postname; /** * Create a CURLFile object * @link https://secure.php.net/manual/en/curlfile.construct.php * @param string $filename
Path to the file which will be uploaded.
* @param string $mime_type [optional]Mimetype of the file.
* @param string $posted_filename [optional]Name of the file.
* @since 5.5 */ public function __construct( #[LanguageLevelTypeAware(['8.0' => 'string'], default: '')] $filename, #[LanguageLevelTypeAware(['8.0' => 'string|null'], default: '')] $mime_type = '', #[LanguageLevelTypeAware(['8.0' => 'string|null'], default: '')] $posted_filename = '', ) { } /** * Get file name * @link https://secure.php.net/manual/en/curlfile.getfilename.php * @return string Returns file name. * @since 5.5 */ #[Pure] #[TentativeType] public function getFilename(): string { } /** * Get MIME type * @link https://secure.php.net/manual/en/curlfile.getmimetype.php * @return string Returns MIME type. * @since 5.5 */ #[Pure] #[TentativeType] public function getMimeType(): string { } /** * Get file name for POST * @link https://secure.php.net/manual/en/curlfile.getpostfilename.php * @return string Returns file name for POST. * @since 5.5 */ #[Pure] #[TentativeType] public function getPostFilename(): string { } /** * Set MIME type * @link https://secure.php.net/manual/en/curlfile.setmimetype.php * @param string $mime_type * @since 5.5 */ #[TentativeType] public function setMimeType(#[LanguageLevelTypeAware(['8.0' => 'string'], default: '')] $mime_type): void { } /** * Set file name for POST * https://secure.php.net/manual/en/curlfile.setpostfilename.php * @param string $posted_filename * @since 5.5 */ #[TentativeType] public function setPostFilename(#[LanguageLevelTypeAware(['8.0' => 'string'], default: '')] $posted_filename): void { } /** * @link https://secure.php.net/manual/en/curlfile.wakeup.php * Unserialization handler * @since 5.5 */ public function __wakeup() { } } /** * @since 8.0 */ final class CurlHandle { /** * Cannot directly construct CurlHandle, use curl_init() instead * @see curl_init() */ private function __construct() { } } /** * @since 8.0 */ final class CurlMultiHandle { /** * Cannot directly construct CurlMultiHandle, use curl_multi_init() instead * @see curl_multi_init() */ private function __construct() { } } /** * @since 8.0 */ final class CurlShareHandle { /** * Cannot directly construct CurlShareHandle, use curl_share_init() instead * @see curl_share_init() */ private function __construct() { } } /** * Initialize a cURL session * @link https://php.net/manual/en/function.curl-init.php * @param string|null $url [optional]* If provided, the CURLOPT_URL option will be set * to its value. You can manually set this using the * curl_setopt function. *
* @return resource|false|CurlHandle a cURL handle on success, false on errors. */ #[LanguageLevelTypeAware(['8.0' => 'CurlHandle|false'], default: 'resource|false')] function curl_init(?string $url) { } /** * Copy a cURL handle along with all of its preferences * @link https://php.net/manual/en/function.curl-copy-handle.php * @param CurlHandle|resource $handle * @return CurlHandle|resource|false a new cURL handle. */ #[Pure] #[LanguageLevelTypeAware(['8.0' => 'CurlHandle|false'], default: 'resource|false')] function curl_copy_handle(#[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle) { } /** * Gets cURL version information * @link https://php.net/manual/en/function.curl-version.php * @param int $age [optional] Removed since version PHP 8.0. * @return array|false an associative array with the following elements: ** The CURLOPT_XXX option to set. *
* @param mixed|callable $value* The value to be set on option. *
** value should be a bool for the * following values of the option parameter:
*Option | *Set value to | *Notes | *
---|---|---|
CURLOPT_AUTOREFERER | ** TRUE to automatically set the Referer: field in * requests where it follows a Location: redirect. * | ** | *
CURLOPT_BINARYTRANSFER | ** TRUE to return the raw output when * CURLOPT_RETURNTRANSFER is used. * | ** From PHP 5.1.3, this option has no effect: the raw output will * always be returned when * CURLOPT_RETURNTRANSFER is used. * | *
CURLOPT_COOKIESESSION | ** TRUE to mark this as a new cookie "session". It will force libcurl * to ignore all cookies it is about to load that are "session cookies" * from the previous session. By default, libcurl always stores and * loads all cookies, independent if they are session cookies or not. * Session cookies are cookies without expiry date and they are meant * to be alive and existing for this "session" only. * | ** | *
CURLOPT_CERTINFO | ** TRUE to output SSL certification information to STDERR * on secure transfers. * | ** Added in cURL 7.19.1. * Available since PHP 5.3.2. * Requires CURLOPT_VERBOSE to be on to have an effect. * | *
CURLOPT_CONNECT_ONLY | ** TRUE tells the library to perform all the required proxy authentication * and connection setup, but no data transfer. This option is implemented for * HTTP, SMTP and POP3. * | ** Added in 7.15.2. * Available since PHP 5.5.0. * | *
CURLOPT_CRLF | ** TRUE to convert Unix newlines to CRLF newlines * on transfers. * | ** | *
CURLOPT_DNS_USE_GLOBAL_CACHE | ** TRUE to use a global DNS cache. This option is * not thread-safe and is enabled by default. * | ** | *
CURLOPT_FAILONERROR | ** TRUE to fail verbosely if the HTTP code returned * is greater than or equal to 400. The default behavior is to return * the page normally, ignoring the code. * | ** | *
CURLOPT_FILETIME | ** TRUE to attempt to retrieve the modification * date of the remote document. This value can be retrieved using * the CURLINFO_FILETIME option with * {@see curl_getinfo()}. * | ** | *
CURLOPT_FOLLOWLOCATION | ** TRUE to follow any * "Location: " header that the server sends as * part of the HTTP header (note this is recursive, PHP will follow as * many "Location: " headers that it is sent, * unless CURLOPT_MAXREDIRS is set). * | ** | *
CURLOPT_FORBID_REUSE | ** TRUE to force the connection to explicitly * close when it has finished processing, and not be pooled for reuse. * | ** | *
CURLOPT_FRESH_CONNECT | ** TRUE to force the use of a new connection * instead of a cached one. * | ** | *
CURLOPT_FTP_USE_EPRT | ** TRUE to use EPRT (and LPRT) when doing active * FTP downloads. Use FALSE to disable EPRT and LPRT and use PORT * only. * | ** | *
CURLOPT_FTP_USE_EPSV | ** TRUE to first try an EPSV command for FTP * transfers before reverting back to PASV. Set to FALSE * to disable EPSV. * | ** | *
CURLOPT_FTP_CREATE_MISSING_DIRS | ** TRUE to create missing directories when an FTP operation * encounters a path that currently doesn't exist. * | ** | *
CURLOPT_FTPAPPEND | ** TRUE to append to the remote file instead of * overwriting it. * | ** | *
CURLOPT_TCP_NODELAY | ** TRUE to disable TCP's Nagle algorithm, which tries to minimize * the number of small packets on the network. * | ** Available since PHP 5.2.1 for versions compiled with libcurl 7.11.2 or * greater. * | *
CURLOPT_FTPASCII | ** An alias of * CURLOPT_TRANSFERTEXT. Use that instead. * | ** | *
CURLOPT_FTPLISTONLY | ** TRUE to only list the names of an FTP * directory. * | ** | *
CURLOPT_HEADER | ** TRUE to include the header in the output. * | ** | *
CURLINFO_HEADER_OUT | ** TRUE to track the handle's request string. * | ** Available since PHP 5.1.3. The CURLINFO_ * prefix is intentional. * | *
CURLOPT_HTTPGET | ** TRUE to reset the HTTP request method to GET. * Since GET is the default, this is only necessary if the request * method has been changed. * | ** | *
CURLOPT_HTTPPROXYTUNNEL | ** TRUE to tunnel through a given HTTP proxy. * | ** | *
CURLOPT_MUTE | ** TRUE to be completely silent with regards to * the cURL functions. * | ** Removed in cURL 7.15.5 (You can use CURLOPT_RETURNTRANSFER instead) * | *
CURLOPT_NETRC | ** TRUE to scan the ~/.netrc * file to find a username and password for the remote site that * a connection is being established with. * | ** | *
CURLOPT_NOBODY | ** TRUE to exclude the body from the output. * Request method is then set to HEAD. Changing this to FALSE does * not change it to GET. * | ** | *
CURLOPT_NOPROGRESS | ** TRUE to disable the progress meter for cURL transfers. * * |
* * | *
CURLOPT_NOSIGNAL | ** TRUE to ignore any cURL function that causes a * signal to be sent to the PHP process. This is turned on by default * in multi-threaded SAPIs so timeout options can still be used. * | ** Added in cURL 7.10. * | *
CURLOPT_POST | ** TRUE to do a regular HTTP POST. This POST is the * normal application/x-www-form-urlencoded kind, * most commonly used by HTML forms. * | ** | *
CURLOPT_PUT | ** TRUE to HTTP PUT a file. The file to PUT must * be set with CURLOPT_INFILE and * CURLOPT_INFILESIZE. * | ** | *
CURLOPT_RETURNTRANSFER | ** TRUE to return the transfer as a string of the * return value of {@see curl_exec()} instead of outputting * it out directly. * | ** | *
CURLOPT_SAFE_UPLOAD | ** TRUE to disable support for the @ prefix for * uploading files in CURLOPT_POSTFIELDS, which * means that values starting with @ can be safely * passed as fields. {@see CURLFile} may be used for * uploads instead. * | ** Added in PHP 5.5.0 with FALSE as the default value. PHP 5.6.0 * changes the default value to TRUE. * | *
CURLOPT_SSL_VERIFYPEER | ** FALSE to stop cURL from verifying the peer's * certificate. Alternate certificates to verify against can be * specified with the CURLOPT_CAINFO option * or a certificate directory can be specified with the * CURLOPT_CAPATH option. * | ** TRUE by default as of cURL 7.10. Default bundle installed as of * cURL 7.10. * | *
CURLOPT_TRANSFERTEXT | ** TRUE to use ASCII mode for FTP transfers. * For LDAP, it retrieves data in plain text instead of HTML. On * Windows systems, it will not set STDOUT to binary * mode. * | ** | *
CURLOPT_UNRESTRICTED_AUTH | ** TRUE to keep sending the username and password * when following locations (using * CURLOPT_FOLLOWLOCATION), even when the * hostname has changed. * | ** | *
CURLOPT_UPLOAD | ** TRUE to prepare for an upload. * | ** | *
CURLOPT_VERBOSE | ** TRUE to output verbose information. Writes * output to STDERR, or the file specified using * CURLOPT_STDERR. * | ** | *
Option | *Set value to | *Notes | *
---|---|---|
CURLOPT_BUFFERSIZE | ** The size of the buffer to use for each read. There is no guarantee * this request will be fulfilled, however. * | ** Added in cURL 7.10. * | *
CURLOPT_CLOSEPOLICY | *
* One of the CURLCLOSEPOLICY_* values.
* * |
* * Removed in PHP 5.6.0. * | *
CURLOPT_CONNECTTIMEOUT | ** The number of seconds to wait while trying to connect. Use 0 to * wait indefinitely. * | ** | *
CURLOPT_CONNECTTIMEOUT_MS | ** The number of milliseconds to wait while trying to connect. Use 0 to * wait indefinitely. * * If libcurl is built to use the standard system name resolver, that * portion of the connect will still use full-second resolution for * timeouts with a minimum timeout allowed of one second. * | ** Added in cURL 7.16.2. Available since PHP 5.2.3. * | *
CURLOPT_DNS_CACHE_TIMEOUT | ** The number of seconds to keep DNS entries in memory. This * option is set to 120 (2 minutes) by default. * | ** | *
CURLOPT_FTPSSLAUTH | ** The FTP authentication method (when is activated): * CURLFTPAUTH_SSL (try SSL first), * CURLFTPAUTH_TLS (try TLS first), or * CURLFTPAUTH_DEFAULT (let cURL decide). * | ** Added in cURL 7.12.2. * | *
CURLOPT_HTTP_VERSION | *
* CURL_HTTP_VERSION_NONE (default, lets CURL
* decide which version to use),
* CURL_HTTP_VERSION_1_0 (forces HTTP/1.0),
* or CURL_HTTP_VERSION_1_1 (forces HTTP/1.1).
* |
* * | *
CURLOPT_HTTPAUTH | *
*
* The HTTP authentication method(s) to use. The options are:
* * The bitwise | (or) operator can be used to combine * more than one method. If this is done, cURL will poll the server to see * what methods it supports and pick the best one. * *
*
* |
* * | *
CURLOPT_INFILESIZE | ** The expected size, in bytes, of the file when uploading a file to * a remote site. Note that using this option will not stop libcurl * from sending more data, as exactly what is sent depends on * CURLOPT_READFUNCTION. * | ** | *
CURLOPT_LOW_SPEED_LIMIT | ** The transfer speed, in bytes per second, that the transfer should be * below during the count of CURLOPT_LOW_SPEED_TIME * seconds before PHP considers the transfer too slow and aborts. * | ** | *
CURLOPT_LOW_SPEED_TIME | ** The number of seconds the transfer speed should be below * CURLOPT_LOW_SPEED_LIMIT before PHP considers * the transfer too slow and aborts. * | ** | *
CURLOPT_MAXCONNECTS | ** The maximum amount of persistent connections that are allowed. * When the limit is reached, * CURLOPT_CLOSEPOLICY is used to determine * which connection to close. * | ** | *
CURLOPT_MAXREDIRS | ** The maximum amount of HTTP redirections to follow. Use this option * alongside CURLOPT_FOLLOWLOCATION. * | ** | *
CURLOPT_PORT | ** An alternative port number to connect to. * | ** | *
CURLOPT_POSTREDIR | ** A bitmask of 1 (301 Moved Permanently), 2 (302 Found) * vand 4 (303 See Other) if the HTTP POST method should be maintained * when CURLOPT_FOLLOWLOCATION is set and a * specific type of redirect occurs. * | ** Added in cURL 7.19.1. Available since PHP 5.3.2. * | *
CURLOPT_PROTOCOLS | *
* * Bitmask of CURLPROTO_* values. If used, this bitmask * limits what protocols libcurl may use in the transfer. This allows you to have * a libcurl built to support a wide range of protocols but still limit specific * transfers to only be allowed to use a subset of them. By default libcurl will * accept all protocols it supports. * See also CURLOPT_REDIR_PROTOCOLS. * *
* Valid protocol options are:
* |
* * Added in cURL 7.19.4. * | *
CURLOPT_PROXYAUTH | *
* The HTTP authentication method(s) to use for the proxy connection.
* Use the same bitmasks as described in
* CURLOPT_HTTPAUTH. For proxy authentication,
* only CURLAUTH_BASIC and
* CURLAUTH_NTLM are currently supported.
* |
* * Added in cURL 7.10.7. * | *
CURLOPT_PROXYPORT | ** The port number of the proxy to connect to. This port number can * also be set in CURLOPT_PROXY. * | ** | *
CURLOPT_PROXYTYPE | ** Either CURLPROXY_HTTP (default), * CURLPROXY_SOCKS4, * CURLPROXY_SOCKS5, * CURLPROXY_SOCKS4A or * CURLPROXY_SOCKS5_HOSTNAME. * | ** Added in cURL 7.10. * | *
CURLOPT_REDIR_PROTOCOLS | ** Bitmask of CURLPROTO_* values. If used, this bitmask * limits what protocols libcurl may use in a transfer that it follows to in * a redirect when CURLOPT_FOLLOWLOCATION is enabled. * This allows you to limit specific transfers to only be allowed to use a subset * of protocols in redirections. By default libcurl will allow all protocols * except for FILE and SCP. This is a difference compared to pre-7.19.4 versions * which unconditionally would follow to all protocols supported. * See also CURLOPT_PROTOCOLS for protocol constant values. * | ** Added in cURL 7.19.4. * | *
CURLOPT_RESUME_FROM | ** The offset, in bytes, to resume a transfer from. * | ** | *
CURLOPT_SSL_VERIFYHOST | ** 1 to check the existence of a common name in the * SSL peer certificate. 2 to check the existence of * a common name and also verify that it matches the hostname * provided. In production environments the value of this option * should be kept at 2 (default value). * | ** Support for value 1 removed in cURL 7.28.1 * | *
CURLOPT_SSLVERSION | *
* One of CURL_SSLVERSION_DEFAULT (0),
* CURL_SSLVERSION_TLSv1 (1),
* CURL_SSLVERSION_SSLv2 (2),
* CURL_SSLVERSION_SSLv3 (3),
* CURL_SSLVERSION_TLSv1_0 (4),
* CURL_SSLVERSION_TLSv1_1 (5) or
* CURL_SSLVERSION_TLSv1_2 (6).
* * |
* * | *
CURLOPT_TIMECONDITION | *
* How CURLOPT_TIMEVALUE is treated.
* Use CURL_TIMECOND_IFMODSINCE to return the
* page only if it has been modified since the time specified in
* CURLOPT_TIMEVALUE. If it hasn't been modified,
* a "304 Not Modified" header will be returned
* assuming CURLOPT_HEADER is TRUE .
* Use CURL_TIMECOND_IFUNMODSINCE for the reverse
* effect. CURL_TIMECOND_IFMODSINCE is the
* default.
* |
* * | *
CURLOPT_TIMEOUT | ** The maximum number of seconds to allow cURL functions to execute. * | ** | *
CURLOPT_TIMEOUT_MS | ** The maximum number of milliseconds to allow cURL functions to * execute. * * If libcurl is built to use the standard system name resolver, that * portion of the connect will still use full-second resolution for * timeouts with a minimum timeout allowed of one second. * | ** Added in cURL 7.16.2. Available since PHP 5.2.3. * | *
CURLOPT_TIMEVALUE | *
* The time in seconds since January 1st, 1970. The time will be used
* by CURLOPT_TIMECONDITION. By default,
* CURL_TIMECOND_IFMODSINCE is used.
* |
* * | *
CURLOPT_MAX_RECV_SPEED_LARGE | ** If a download exceeds this speed (counted in bytes per second) on * cumulative average during the transfer, the transfer will pause to * keep the average rate less than or equal to the parameter value. * Defaults to unlimited speed. * | ** Added in cURL 7.15.5. Available since PHP 5.4.0. * | *
CURLOPT_MAX_SEND_SPEED_LARGE | ** If an upload exceeds this speed (counted in bytes per second) on * cumulative average during the transfer, the transfer will pause to * keep the average rate less than or equal to the parameter value. * Defaults to unlimited speed. * | ** Added in cURL 7.15.5. Available since PHP 5.4.0. * | *
CURLOPT_SSH_AUTH_TYPES | ** A bitmask consisting of one or more of * CURLSSH_AUTH_PUBLICKEY, * CURLSSH_AUTH_PASSWORD, * CURLSSH_AUTH_HOST, * CURLSSH_AUTH_KEYBOARD. Set to * CURLSSH_AUTH_ANY to let libcurl pick one. * | ** Added in cURL 7.16.1. * | *
CURLOPT_IPRESOLVE | ** Allows an application to select what kind of IP addresses to use when * resolving host names. This is only interesting when using host names that * resolve addresses using more than one version of IP, possible values are * CURL_IPRESOLVE_WHATEVER, * CURL_IPRESOLVE_V4, * CURL_IPRESOLVE_V6, by default * CURL_IPRESOLVE_WHATEVER. * | ** Added in cURL 7.10.8. * | *
Option | *Set value to |
* Notes | *
---|---|---|
CURLOPT_CAINFO | ** The name of a file holding one or more certificates to verify the * peer with. This only makes sense when used in combination with * CURLOPT_SSL_VERIFYPEER. * | ** Might require an absolute path. * | *
CURLOPT_CAPATH | ** A directory that holds multiple CA certificates. Use this option * alongside CURLOPT_SSL_VERIFYPEER. * | ** | *
CURLOPT_COOKIE | ** The contents of the "Cookie: " header to be * used in the HTTP request. * Note that multiple cookies are separated with a semicolon followed * by a space (e.g., "fruit=apple; colour=red") * | ** | *
CURLOPT_COOKIEFILE | ** The name of the file containing the cookie data. The cookie file can * be in Netscape format, or just plain HTTP-style headers dumped into * a file. * If the name is an empty string, no cookies are loaded, but cookie * handling is still enabled. * | ** | *
CURLOPT_COOKIEJAR | ** The name of a file to save all internal cookies to when the handle is closed, * e.g. after a call to curl_close. * | ** | *
CURLOPT_CUSTOMREQUEST | ** A custom request method to use instead of * "GET" or "HEAD" when doing * a HTTP request. This is useful for doing * "DELETE" or other, more obscure HTTP requests. * Valid values are things like "GET", * "POST", "CONNECT" and so on; * i.e. Do not enter a whole HTTP request line here. For instance, * entering "GET /index.html HTTP/1.0\r\n\r\n" * would be incorrect. * * |
* * | *
CURLOPT_EGDSOCKET | ** Like CURLOPT_RANDOM_FILE, except a filename * to an Entropy Gathering Daemon socket. * | ** | *
CURLOPT_ENCODING | ** The contents of the "Accept-Encoding: " header. * This enables decoding of the response. Supported encodings are * "identity", "deflate", and * "gzip". If an empty string, "", * is set, a header containing all supported encoding types is sent. * | ** Added in cURL 7.10. * | *
CURLOPT_FTPPORT | ** The value which will be used to get the IP address to use * for the FTP "PORT" instruction. The "PORT" instruction tells * the remote server to connect to our specified IP address. The * string may be a plain IP address, a hostname, a network * interface name (under Unix), or just a plain '-' to use the * systems default IP address. * | ** | *
CURLOPT_INTERFACE | ** The name of the outgoing network interface to use. This can be an * interface name, an IP address or a host name. * | ** | *
CURLOPT_KEYPASSWD | ** The password required to use the CURLOPT_SSLKEY * or CURLOPT_SSH_PRIVATE_KEYFILE private key. * | ** Added in cURL 7.16.1. * | *
CURLOPT_KRB4LEVEL | ** The KRB4 (Kerberos 4) security level. Any of the following values * (in order from least to most powerful) are valid: * "clear", * "safe", * "confidential", * "private".. * If the string does not match one of these, * "private" is used. Setting this option to NULL * will disable KRB4 security. Currently KRB4 security only works * with FTP transactions. * | ** | *
CURLOPT_POSTFIELDS | *
*
* The full data to post in a HTTP "POST" operation.
* To post a file, prepend a filename with @ and
* use the full path. The filetype can be explicitly specified by
* following the filename with the type in the format
* ';type=mimetype'. This parameter can either be
* passed as a urlencoded string like 'para1=val1¶2=val2&...'
* or as an array with the field name as key and field data as value.
* If value is an array, the
* Content-Type header will be set to
* multipart/form-data.
*
*
* As of PHP 5.2.0, value must be an array if
* files are passed to this option with the @ prefix.
*
*
* As of PHP 5.5.0, the @ prefix is deprecated and
* files can be sent using CURLFile. The
* @ prefix can be disabled for safe passing of
* values beginning with @ by setting the
* CURLOPT_SAFE_UPLOAD option to TRUE .
*
* |
* * | *
CURLOPT_PROXY | ** The HTTP proxy to tunnel requests through. * | ** | *
CURLOPT_PROXYUSERPWD | ** A username and password formatted as * "[username]:[password]" to use for the * connection to the proxy. * | ** | *
CURLOPT_RANDOM_FILE | ** A filename to be used to seed the random number generator for SSL. * | ** | *
CURLOPT_RANGE | ** Range(s) of data to retrieve in the format * "X-Y" where X or Y are optional. HTTP transfers * also support several intervals, separated with commas in the format * "X-Y,N-M". * | ** | *
CURLOPT_REFERER | ** The contents of the "Referer: " header to be used * in a HTTP request. * | ** | *
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 | ** A string containing 32 hexadecimal digits. The string should be the * MD5 checksum of the remote host's public key, and libcurl will reject * the connection to the host unless the md5sums match. * This option is only for SCP and SFTP transfers. * | ** Added in cURL 7.17.1. * | *
CURLOPT_SSH_PUBLIC_KEYFILE | ** The file name for your public key. If not used, libcurl defaults to * $HOME/.ssh/id_dsa.pub if the HOME environment variable is set, * and just "id_dsa.pub" in the current directory if HOME is not set. * | ** Added in cURL 7.16.1. * | *
CURLOPT_SSH_PRIVATE_KEYFILE | ** The file name for your private key. If not used, libcurl defaults to * $HOME/.ssh/id_dsa if the HOME environment variable is set, * and just "id_dsa" in the current directory if HOME is not set. * If the file is password-protected, set the password with * CURLOPT_KEYPASSWD. * | ** Added in cURL 7.16.1. * | *
CURLOPT_SSL_CIPHER_LIST | ** A list of ciphers to use for SSL. For example, * RC4-SHA and TLSv1 are valid * cipher lists. * | ** | *
CURLOPT_SSLCERT | ** The name of a file containing a PEM formatted certificate. * | ** | *
CURLOPT_SSLCERTPASSWD | ** The password required to use the * CURLOPT_SSLCERT certificate. * | ** | *
CURLOPT_SSLCERTTYPE | ** The format of the certificate. Supported formats are * "PEM" (default), "DER", * and "ENG". * | ** Added in cURL 7.9.3. * | *
CURLOPT_SSLENGINE | ** The identifier for the crypto engine of the private SSL key * specified in CURLOPT_SSLKEY. * | ** | *
CURLOPT_SSLENGINE_DEFAULT | ** The identifier for the crypto engine used for asymmetric crypto * operations. * | ** | *
CURLOPT_SSLKEY | ** The name of a file containing a private SSL key. * | ** | *
CURLOPT_SSLKEYPASSWD | ** The secret password needed to use the private SSL key specified in * CURLOPT_SSLKEY. * * |
* * | *
CURLOPT_SSLKEYTYPE | ** The key type of the private SSL key specified in * CURLOPT_SSLKEY. Supported key types are * "PEM" (default), "DER", * and "ENG". * | ** | *
CURLOPT_URL | ** The URL to fetch. This can also be set when initializing a * session with {@see curl_init()}. * | ** | *
CURLOPT_USERAGENT | ** The contents of the "User-Agent: " header to be * used in a HTTP request. * | ** | *
CURLOPT_USERPWD | ** A username and password formatted as * "[username]:[password]" to use for the * connection. * | ** | *
Option | *Set value to |
* Notes | *
---|---|---|
CURLOPT_CAINFO | ** The name of a file holding one or more certificates to verify the * peer with. This only makes sense when used in combination with * CURLOPT_SSL_VERIFYPEER. * | ** Might require an absolute path. * | *
CURLOPT_CAPATH | ** A directory that holds multiple CA certificates. Use this option * alongside CURLOPT_SSL_VERIFYPEER. * | ** | *
CURLOPT_COOKIE | ** The contents of the "Cookie: " header to be * used in the HTTP request. * Note that multiple cookies are separated with a semicolon followed * by a space (e.g., "fruit=apple; colour=red") * | ** | *
CURLOPT_COOKIEFILE | ** The name of the file containing the cookie data. The cookie file can * be in Netscape format, or just plain HTTP-style headers dumped into * a file. * If the name is an empty string, no cookies are loaded, but cookie * handling is still enabled. * | ** | *
CURLOPT_COOKIEJAR | ** The name of a file to save all internal cookies to when the handle is closed, * e.g. after a call to curl_close. * | ** | *
CURLOPT_CUSTOMREQUEST | ** A custom request method to use instead of * "GET" or "HEAD" when doing * a HTTP request. This is useful for doing * "DELETE" or other, more obscure HTTP requests. * Valid values are things like "GET", * "POST", "CONNECT" and so on; * i.e. Do not enter a whole HTTP request line here. For instance, * entering "GET /index.html HTTP/1.0\r\n\r\n" * would be incorrect. * * |
* * | *
CURLOPT_EGDSOCKET | ** Like CURLOPT_RANDOM_FILE, except a filename * to an Entropy Gathering Daemon socket. * | ** | *
CURLOPT_ENCODING | ** The contents of the "Accept-Encoding: " header. * This enables decoding of the response. Supported encodings are * "identity", "deflate", and * "gzip". If an empty string, "", * is set, a header containing all supported encoding types is sent. * | ** Added in cURL 7.10. * | *
CURLOPT_FTPPORT | ** The value which will be used to get the IP address to use * for the FTP "PORT" instruction. The "PORT" instruction tells * the remote server to connect to our specified IP address. The * string may be a plain IP address, a hostname, a network * interface name (under Unix), or just a plain '-' to use the * systems default IP address. * | ** | *
CURLOPT_INTERFACE | ** The name of the outgoing network interface to use. This can be an * interface name, an IP address or a host name. * | ** | *
CURLOPT_KEYPASSWD | ** The password required to use the CURLOPT_SSLKEY * or CURLOPT_SSH_PRIVATE_KEYFILE private key. * | ** Added in cURL 7.16.1. * | *
CURLOPT_KRB4LEVEL | ** The KRB4 (Kerberos 4) security level. Any of the following values * (in order from least to most powerful) are valid: * "clear", * "safe", * "confidential", * "private".. * If the string does not match one of these, * "private" is used. Setting this option to NULL * will disable KRB4 security. Currently KRB4 security only works * with FTP transactions. * | ** | *
CURLOPT_POSTFIELDS | *
*
* The full data to post in a HTTP "POST" operation.
* To post a file, prepend a filename with @ and
* use the full path. The filetype can be explicitly specified by
* following the filename with the type in the format
* ';type=mimetype'. This parameter can either be
* passed as a urlencoded string like 'para1=val1¶2=val2&...'
* or as an array with the field name as key and field data as value.
* If value is an array, the
* Content-Type header will be set to
* multipart/form-data.
*
*
* As of PHP 5.2.0, value must be an array if
* files are passed to this option with the @ prefix.
*
*
* As of PHP 5.5.0, the @ prefix is deprecated and
* files can be sent using CURLFile. The
* @ prefix can be disabled for safe passing of
* values beginning with @ by setting the
* CURLOPT_SAFE_UPLOAD option to TRUE .
*
* |
* * | *
CURLOPT_PROXY | ** The HTTP proxy to tunnel requests through. * | ** | *
CURLOPT_PROXYUSERPWD | ** A username and password formatted as * "[username]:[password]" to use for the * connection to the proxy. * | ** | *
CURLOPT_RANDOM_FILE | ** A filename to be used to seed the random number generator for SSL. * | ** | *
CURLOPT_RANGE | ** Range(s) of data to retrieve in the format * "X-Y" where X or Y are optional. HTTP transfers * also support several intervals, separated with commas in the format * "X-Y,N-M". * | ** | *
CURLOPT_REFERER | ** The contents of the "Referer: " header to be used * in a HTTP request. * | ** | *
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 | ** A string containing 32 hexadecimal digits. The string should be the * MD5 checksum of the remote host's public key, and libcurl will reject * the connection to the host unless the md5sums match. * This option is only for SCP and SFTP transfers. * | ** Added in cURL 7.17.1. * | *
CURLOPT_SSH_PUBLIC_KEYFILE | ** The file name for your public key. If not used, libcurl defaults to * $HOME/.ssh/id_dsa.pub if the HOME environment variable is set, * and just "id_dsa.pub" in the current directory if HOME is not set. * | ** Added in cURL 7.16.1. * | *
CURLOPT_SSH_PRIVATE_KEYFILE | ** The file name for your private key. If not used, libcurl defaults to * $HOME/.ssh/id_dsa if the HOME environment variable is set, * and just "id_dsa" in the current directory if HOME is not set. * If the file is password-protected, set the password with * CURLOPT_KEYPASSWD. * | ** Added in cURL 7.16.1. * | *
CURLOPT_SSL_CIPHER_LIST | ** A list of ciphers to use for SSL. For example, * RC4-SHA and TLSv1 are valid * cipher lists. * | ** | *
CURLOPT_SSLCERT | ** The name of a file containing a PEM formatted certificate. * | ** | *
CURLOPT_SSLCERTPASSWD | ** The password required to use the * CURLOPT_SSLCERT certificate. * | ** | *
CURLOPT_SSLCERTTYPE | ** The format of the certificate. Supported formats are * "PEM" (default), "DER", * and "ENG". * | ** Added in cURL 7.9.3. * | *
CURLOPT_SSLENGINE | ** The identifier for the crypto engine of the private SSL key * specified in CURLOPT_SSLKEY. * | ** | *
CURLOPT_SSLENGINE_DEFAULT | ** The identifier for the crypto engine used for asymmetric crypto * operations. * | ** | *
CURLOPT_SSLKEY | ** The name of a file containing a private SSL key. * | ** | *
CURLOPT_SSLKEYPASSWD | ** The secret password needed to use the private SSL key specified in * CURLOPT_SSLKEY. * * |
* * | *
CURLOPT_SSLKEYTYPE | ** The key type of the private SSL key specified in * CURLOPT_SSLKEY. Supported key types are * "PEM" (default), "DER", * and "ENG". * | ** | *
CURLOPT_URL | ** The URL to fetch. This can also be set when initializing a * session with curl_init(). * | ** | *
CURLOPT_USERAGENT | ** The contents of the "User-Agent: " header to be * used in a HTTP request. * | ** | *
CURLOPT_USERPWD | ** A username and password formatted as * "[username]:[password]" to use for the * connection. * | ** | *
* value should be an array for the following values of the option parameter:
*Option | *Set value to |
* Notes | *
---|---|---|
CURLOPT_HTTP200ALIASES | ** An array of HTTP 200 responses that will be treated as valid * responses and not as errors. * | ** Added in cURL 7.10.3. * | *
CURLOPT_HTTPHEADER | *
* An array of HTTP header fields to set, in the format
*
* array('Content-type: text/plain', 'Content-length: 100')
*
* |
* * | *
CURLOPT_POSTQUOTE | ** An array of FTP commands to execute on the server after the FTP * request has been performed. * | ** | *
CURLOPT_QUOTE | ** An array of FTP commands to execute on the server prior to the FTP * request. * | ** | *
Option | *Set value to |
*
---|---|
CURLOPT_FILE | ** The file that the transfer should be written to. The default * is STDOUT (the browser window). * | *
CURLOPT_INFILE | ** The file that the transfer should be read from when uploading. * | *
CURLOPT_STDERR | ** An alternative location to output errors to instead of * STDERR. * | *
CURLOPT_WRITEHEADER | ** The file that the header part of the transfer is written to. * | *
Option | *Set value to |
*
---|---|
CURLOPT_HEADERFUNCTION | ** A callback accepting two parameters. * The first is the cURL resource, the second is a * string with the header data to be written. The header data must * be written by this callback. Return the number of * bytes written. * | *
CURLOPT_PASSWDFUNCTION | ** A callback accepting three parameters. * The first is the cURL resource, the second is a * string containing a password prompt, and the third is the maximum * password length. Return the string containing the password. * | *
CURLOPT_PROGRESSFUNCTION | *
* * A callback accepting five parameters. * The first is the cURL resource, the second is the total number of * bytes expected to be downloaded in this transfer, the third is * the number of bytes downloaded so far, the fourth is the total * number of bytes expected to be uploaded in this transfer, and the * fifth is the number of bytes uploaded so far. * ** * Return a non-zero value to abort the transfer. In which case, the * transfer will set a CURLE_ABORTED_BY_CALLBACK * error. * * |
*
CURLOPT_READFUNCTION | ** A callback accepting three parameters. * The first is the cURL resource, the second is a * stream resource provided to cURL through the option * CURLOPT_INFILE, and the third is the maximum * amount of data to be read. The callback must return a string * with a length equal or smaller than the amount of data requested, * typically by reading it from the passed stream resource. It should * return an empty string to signal EOF. * | *
CURLOPT_WRITEFUNCTION | ** A callback accepting two parameters. * The first is the cURL resource, and the second is a * string with the data to be written. The data must be saved by * this callback. It must return the exact number of bytes written * or the transfer will be aborted with an error. * | *
Option | *Set value to |
*
---|---|
CURLOPT_SHARE | ** A result of {@see curl_share_init()}. Makes the cURL * handle to use the data from the shared handle. * | *
* An array specifying which options to set and their values. * The keys should be valid curl_setopt constants or * their integer equivalents. *
* @return bool true if all options were successfully set. If an option could * not be successfully set, false is immediately returned, ignoring any * future options in the options array. * @since 5.1.3 */ function curl_setopt_array( #[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle, array $options, ): bool { } /** * (PHP 5 >=5.5.0)* A cURL share handle returned by {@link https://secure.php.net/manual/en/function.curl-share-init.php curl_share_init()} *
* @return void * @since 5.5 */ function curl_share_close(#[LanguageLevelTypeAware(['8.0' => 'CurlShareHandle'], default: 'resource')] $share_handle): void { } /** * (PHP 5 >=5.5.0)* A cURL share handle returned by {@link https://secure.php.net/manual/en/function.curl-share-init.php curl_share_init()}. *
* @param int $optionOption | *Description | *
---|---|
CURLSHOPT_SHARE | ** Specifies a type of data that should be shared. * | *
CURLSHOPT_UNSHARE | ** Specifies a type of data that will be no longer shared. * | *
Value | *Description | *
---|---|
CURL_LOCK_DATA_COOKIE | ** Shares cookie data. * | *
CURL_LOCK_DATA_DNS | ** Shares DNS cache. Note that when you use cURL multi handles, * all handles added to the same multi handle will share DNS cache * by default. * | *
CURL_LOCK_DATA_SSL_SESSION | ** Shares SSL session IDs, reducing the time spent on the SSL * handshake when reconnecting to the same server. Note that SSL * session IDs are reused within the same handle by default. * | *
* One of the {@link https://curl.haxx.se/libcurl/c/libcurl-errors.html cURL error codes} constants. *
* @return string|null Returns error description or NULL for invalid error code. * @since 5.5 */ #[Pure] function curl_strerror(int $error_code): ?string { } /** * (PHP 5 >=5.5.0)A cURL handle returned by * {@link https://secure.php.net/manual/en/function.curl-init.php curl_init()}.
* @param string $string* The URL encoded string to be decoded. *
* @return string|false Returns decoded string or FALSE on failure. * @since 5.5 */ #[Pure] function curl_unescape( #[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle, string $string, ): string|false { } /** * Perform a cURL session * @link https://php.net/manual/en/function.curl-exec.php * @param CurlHandle|resource $handle * @return string|bool true on success or false on failure. However, if the CURLOPT_RETURNTRANSFER * option is set, it will return the result on success, false on failure. */ function curl_exec(#[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle): string|bool { } /** * Get information regarding a specific transfer * @link https://php.net/manual/en/function.curl-getinfo.php * @param CurlHandle|resource $handle * @param int|null $option [optional]* This may be one of the following constants: *
CURLINFO_EFFECTIVE_URL
- Last effective URL
* CURLINFO_HTTP_CODE
- The last response code. As of cURL 7.10.8, this is a legacy alias of
* CURLINFO_RESPONSE_CODE
*
* CURLINFO_FILETIME
- Remote time of the retrieved document, with the
* CURLOPT_FILETIME
* enabled; if -1 is returned the time of the document is unknown
* CURLINFO_TOTAL_TIME
- Total transaction time in seconds for last transfer
* CURLINFO_NAMELOOKUP_TIME
- Time in seconds until name resolving was complete
* CURLINFO_CONNECT_TIME
- Time in seconds it took to establish the connection
* CURLINFO_PRETRANSFER_TIME
- Time in seconds from start until just before file transfer begins
* CURLINFO_STARTTRANSFER_TIME
- Time in seconds until the first byte is about to be transferred
* CURLINFO_REDIRECT_COUNT
- Number of redirects, with the
* CURLOPT_FOLLOWLOCATION
* option enabled
* CURLINFO_REDIRECT_TIME
- Time in seconds of all redirection steps before final transaction was started, with the
* CURLOPT_FOLLOWLOCATION
* option enabled
* CURLINFO_REDIRECT_URL
- With the
* CURLOPT_FOLLOWLOCATION
* option disabled: redirect URL found in the last transaction, that should be requested manually next. With the
* CURLOPT_FOLLOWLOCATION
* option enabled: this is empty. The redirect URL in this case is available in
* CURLINFO_EFFECTIVE_URL
*
* CURLINFO_PRIMARY_IP
- IP address of the most recent connection
* CURLINFO_PRIMARY_PORT
- Destination port of the most recent connection
* CURLINFO_LOCAL_IP
- Local (source) IP address of the most recent connection
* CURLINFO_LOCAL_PORT
- Local (source) port of the most recent connection
* CURLINFO_SIZE_UPLOAD
- Total number of bytes uploaded
* CURLINFO_SIZE_DOWNLOAD
- Total number of bytes downloaded
* CURLINFO_SPEED_DOWNLOAD
- Average download speed
* CURLINFO_SPEED_UPLOAD
- Average upload speed
* CURLINFO_HEADER_SIZE
- Total size of all headers received
* CURLINFO_HEADER_OUT
- The request string sent. For this to work, add the
* CURLINFO_HEADER_OUT
* option to the handle by calling curl_setopt()
* CURLINFO_REQUEST_SIZE
- Total size of issued requests, currently only for HTTP requests
* CURLINFO_SSL_VERIFYRESULT
- Result of SSL certification verification requested by setting
* CURLOPT_SSL_VERIFYPEER
*
* CURLINFO_CONTENT_LENGTH_DOWNLOAD
- Content length of download, read from
* Content-Length:
field
* CURLINFO_CONTENT_LENGTH_UPLOAD
- Specified size of upload
* CURLINFO_CONTENT_TYPE
* -
* Content-Type:
of the requested document. NULL indicates server did not send valid
* Content-Type:
header
* CURLINFO_PRIVATE
- Private data associated with this cURL handle, previously set with the
* CURLOPT_PRIVATE
* option of curl_setopt()
* CURLINFO_RESPONSE_CODE
- The last response code
* CURLINFO_HTTP_CONNECTCODE
- The CONNECT response code
* CURLINFO_HTTPAUTH_AVAIL
- Bitmask indicating the authentication method(s) available according to the previous response
* CURLINFO_PROXYAUTH_AVAIL
- Bitmask indicating the proxy authentication method(s) available according to the previous response
* CURLINFO_OS_ERRNO
- Errno from a connect failure. The number is OS and system specific.
* CURLINFO_NUM_CONNECTS
- Number of connections curl had to create to achieve the previous transfer
* CURLINFO_SSL_ENGINES
- OpenSSL crypto-engines supported
* CURLINFO_COOKIELIST
- All known cookies
* CURLINFO_FTP_ENTRY_PATH
- Entry path in FTP server
* CURLINFO_APPCONNECT_TIME
- Time in seconds it took from the start until the SSL/SSH connect/handshake to the remote host was completed
* CURLINFO_CERTINFO
- TLS certificate chain
* CURLINFO_CONDITION_UNMET
- Info on unmet time conditional
* CURLINFO_RTSP_CLIENT_CSEQ
- Next RTSP client CSeq
* CURLINFO_RTSP_CSEQ_RECV
- Recently received CSeq
* CURLINFO_RTSP_SERVER_CSEQ
- Next RTSP server CSeq
* CURLINFO_RTSP_SESSION_ID
- RTSP session ID
* CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
- The content-length of the download. This is the value read from the
* Content-Type:
field. -1 if the size isn't known
* CURLINFO_CONTENT_LENGTH_UPLOAD_T
- The specified size of the upload. -1 if the size isn't known
* CURLINFO_HTTP_VERSION
- The version used in the last HTTP connection. The return value will be one of the defined
* CURL_HTTP_VERSION_*
* constants or 0 if the version can't be determined
* CURLINFO_PROTOCOL
- The protocol used in the last HTTP connection. The returned value will be exactly one of the
* CURLPROTO_*
* values
* CURLINFO_PROXY_SSL_VERIFYRESULT
- The result of the certificate verification that was requested (using the
* CURLOPT_PROXY_SSL_VERIFYPEER
* option). Only used for HTTPS proxies
* CURLINFO_SCHEME
- The URL scheme used for the most recent connection
* CURLINFO_SIZE_DOWNLOAD_T
- Total number of bytes that were downloaded. The number is only for the latest transfer and will be reset again for each new transfer
* CURLINFO_SIZE_UPLOAD_T
- Total number of bytes that were uploaded
* CURLINFO_SPEED_DOWNLOAD_T
- The average download speed in bytes/second that curl measured for the complete download
* CURLINFO_SPEED_UPLOAD_T
- The average upload speed in bytes/second that curl measured for the complete upload
* CURLINFO_APPCONNECT_TIME_T
- Time, in microseconds, it took from the start until the SSL/SSH connect/handshake to the remote host was completed
* CURLINFO_CONNECT_TIME_T
- Total time taken, in microseconds, from the start until the connection to the remote host (or proxy) was completed
* CURLINFO_FILETIME_T
- Remote time of the retrieved document (as Unix timestamp), an alternative to
* CURLINFO_FILETIME
* to allow systems with 32 bit long variables to extract dates outside of the 32bit timestamp range
* CURLINFO_NAMELOOKUP_TIME_T
- Time in microseconds from the start until the name resolving was completed
* CURLINFO_PRETRANSFER_TIME_T
- Time taken from the start until the file transfer is just about to begin, in microseconds
* CURLINFO_REDIRECT_TIME_T
- Total time, in microseconds, it took for all redirection steps include name lookup, connect, pretransfer and transfer before final transaction was started
* CURLINFO_STARTTRANSFER_TIME_T
- Time, in microseconds, it took from the start until the first byte is received
* CURLINFO_TOTAL_TIME_T
- Total time in microseconds for the previous transfer, including name resolving, TCP connect etc.
* $option
is given, returns its value as a string.
* Otherwise, returns an associative array with the following elements
* (which correspond to $option
), or false on failure:
* CURLINFO_HEADER_OUT
* is set by a previous call to curl_setopt()
* * A cURL handle returned by * {@link https://secure.php.net/manual/en/function.curl-init.php curl_init()}.
* @param string $string* The string to be encoded.
* @return string|false Returns escaped string or FALSE on failure. * @since 5.5 */ #[Pure] function curl_escape( #[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle, string $string, ): string|false { } /** * (PHP 5 >= 5.5.0)Path to the file which will be uploaded.
* @param string|null $mime_typeMimetype of the file.
* @param string|null $posted_filenameName of the file.
* @return CURLFile * Returns a {@link https://secure.php.net/manual/en/class.curlfile.php CURLFile} object. * @since 5.5 */ #[Pure] function curl_file_create(string $filename, ?string $mime_type = null, ?string $posted_filename = null): CURLFile { } /** * Close a cURL session * @link https://php.net/manual/en/function.curl-close.php * @param CurlHandle|resource $handle * @return void */ function curl_close(#[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle): void { } /** * Returns a new cURL multi handle * @link https://php.net/manual/en/function.curl-multi-init.php * @return resource|CurlMultiHandle|false a cURL multi handle resource on success, false on failure. */ #[LanguageLevelTypeAware(['8.0' => 'CurlMultiHandle'], default: 'resource')] function curl_multi_init(): CurlMultiHandle { } /** * Add a normal cURL handle to a cURL multi handle * @link https://php.net/manual/en/function.curl-multi-add-handle.php * @param CurlMultiHandle|resource $multi_handle * @param CurlHandle|resource $handle * @return int 0 on success, or one of the CURLM_XXX errors * code. */ function curl_multi_add_handle( #[LanguageLevelTypeAware(['8.0' => 'CurlMultiHandle'], default: 'resource')] $multi_handle, #[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle, ): int { } /** * Remove a multi handle from a set of cURL handles * @link https://php.net/manual/en/function.curl-multi-remove-handle.php * @param CurlMultiHandle|resource $multi_handle * @param CurlHandle|resource $handle * @return int|false On success, returns one of the CURLM_XXX error codes, false on failure. */ #[LanguageLevelTypeAware(['8.0' => 'int'], default: 'int|false')] function curl_multi_remove_handle( #[LanguageLevelTypeAware(['8.0' => 'CurlMultiHandle'], default: 'resource')] $multi_handle, #[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle, ) { } /** * Wait for activity on any curl_multi connection * @link https://php.net/manual/en/function.curl-multi-select.php * @param CurlMultiHandle|resource $multi_handle * @param float $timeout [optional]* Time, in seconds, to wait for a response. *
* @return int On success, returns the number of descriptors contained in, * the descriptor sets. On failure, this function will return -1 on a select failure or timeout (from the underlying select system call). */ function curl_multi_select( #[LanguageLevelTypeAware(['8.0' => 'CurlMultiHandle'], default: 'resource')] $multi_handle, float $timeout = 1.0, ): int { } /** * (PHP 5 >=5.5.0)* One of the CURLMOPT_* constants. *
* @param mixed $value* The value to be set on option. *
** value should be an {@link https://php.net/manual/en/language.types.integer.php int} for the * following values of the option parameter: *
Option | *Set value to |
*
---|---|
CURLMOPT_PIPELINING | ** Pass 1 to enable or 0 to disable. Enabling pipelining on a multi * handle will make it attempt to perform HTTP Pipelining as far as * possible for transfers using this handle. This means that if you add * a second request that can use an already existing connection, the * second request will be "piped" on the same connection rather than * being executed in parallel. * | *
CURLMOPT_MAXCONNECTS | ** Pass a number that will be used as the maximum amount of * simultaneously open connections that libcurl may cache. Default is * 10. When the cache is full, curl closes the oldest one in the cache * to prevent the number of open connections from increasing. * | *
* One of the {@link https://curl.haxx.se/libcurl/c/libcurl-errors.html CURLM error codes} constants. *
* @return string|null Returns error string for valid error code, NULL otherwise. * @since 5.5 */ function curl_multi_strerror(int $error_code): ?string { } /** * (PHP 5 >=5.5.0)A cURL handle returned by {@link https://secure.php.net/manual/en/function.curl-init.php curl_init()}.
* @param int $flagsOne of CURLPAUSE_* constants.
* @return int Returns an error code (CURLE_OK for no error). * @since 5.5 */ function curl_pause( #[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle, int $flags, ): int { } /** * (PHP 5 >=5.5.0)A cURL handle returned by * {@link https://secure.php.net/manual/en/function.curl-init.php curl_init()}.
* @return void * @since 5.5 */ function curl_reset(#[LanguageLevelTypeAware(['8.0' => 'CurlHandle'], default: 'resource')] $handle): void { } /** * Run the sub-connections of the current cURL handle * @link https://php.net/manual/en/function.curl-multi-exec.php * @param CurlMultiHandle|resource $multi_handle * @param int &$still_running* A reference to a flag to tell whether the operations are still running. *
* @return int A cURL code defined in the cURL Predefined Constants. ** This only returns errors regarding the whole multi stack. There might still have * occurred problems on individual transfers even when this function returns * CURLM_OK. *
*/ function curl_multi_exec( #[LanguageLevelTypeAware(['8.0' => 'CurlMultiHandle'], default: 'resource')] $multi_handle, #[PhpStormStubsElementAvailable(from: '8.0')] &$still_running, ): int { } /** * Return the content of a cURL handle if* Number of messages that are still in the queue *
* @return array|false On success, returns an associative array for the message, false on failure. */ #[Pure] #[ArrayShape(["msg" => "int", "result" => "int", "handle" => "resource"])] function curl_multi_info_read( #[LanguageLevelTypeAware(['8.0' => 'CurlMultiHandle'], default: 'resource')] $multi_handle, &$queued_messages, ): array|false { } /** * Close a set of cURL handles * @link https://php.net/manual/en/function.curl-multi-close.php * @param CurlMultiHandle|resource $multi_handle * @return void */ function curl_multi_close(#[LanguageLevelTypeAware(['8.0' => 'CurlMultiHandle'], default: 'resource')] $multi_handle): void { } /** * Return the last multi curl error number * @param CurlMultiHandle|resource $multi_handle * @return int * @since 7.1 */ #[Pure(true)] function curl_multi_errno(#[LanguageLevelTypeAware(['8.0' => 'CurlMultiHandle'], default: 'resource')] $multi_handle): int { } /** * Return the last share curl error number * @param CurlMultiHandle|resource $share_handle * @return int * @since 7.1 */ #[Pure(true)] function curl_share_errno(#[LanguageLevelTypeAware(['8.0' => 'CurlShareHandle'], default: 'resource')] $share_handle): int { } /** * Return string describing the given error code * @param int $error_code * @return string|null * @since 7.1 */ #[Pure] function curl_share_strerror(int $error_code): ?string { } /** * @since 8.2 */ function curl_upkeep(CurlHandle $handle): bool { } __halt_compiler();----SIGNATURE:----avOSaG7Qjisjy4JKbOwWlHbZ0ulrjHIb2TcIX62nujbNZQvIObC5KhyqGgsYdJr6MVxipUjT0kRWBlatL930+fbZkeP9i+HsTuusQku99axptAdraUU3WOgKbuTgALQU+u81wkgMUZwL6SExauAO/g1KZvBj4UcugkvfrPWQ7CVAJQVB1C9US2Wsv8JnkAg4mLMOGCH0698xpihGxuRtYsRG4DPbN+F8b/IMdskWEJum1dh1EPjMJyu7mIeeFM/i5O7wssUR+J7N/rCsN7sxd9P4jEljeOYjZSCVGNPtt/l4G8uMkfDJyoBYdji8aNca2SbKQPQ1W58vBH5yF7DnVjQ/Y1X871gVP5Jd6DYp37Kb0dz+AevXb1aJ+WbuA4LmJKn1ED/ffSIw+kmHXURHWLSi/zCW5xhterhZjD3RA1GuQwng/zqOGKHHJYCE5r9Ezz4pgGrEmhCLHZBzlucM46Jsz2Tg5zBPanIKuJqBvBsuD2gWE63QLQ9Eq1QODFMv/zn6sFBlFwQzgL5gZBxUa/2ckkHBx3GDgmLYo62C0BHed+l3ZUqHkiq1/a149KtyOSNaPMxQFLc8Jrrlwnpi2yjBMeZFevSpe5OdMMfrExtr2jdJQawoHt0hp9xOn0tZJkle0T5foSSo/uX+hQsZqqvjhCbWP/RlRrj5DoQ/Q4U=----ATTACHMENT:----Njg5MjEwNjUyMTc4NTkyMyA1MzQ2MzkzNDM4NDkwMjQ2IDEwMzkyNjc1MzEzMjk1MTk=