   #PHP Manual CURL, Client URL Library Functions curl_multi_select
   curl_version

   PHP Manual
   Prev  Next
   ______________________________________________________________________

                                  curl_setopt

   (PHP 4 >= 4.0.2)
   curl_setopt -- Set an option for a CURL transfer

Description

   bool curl_setopt ( resource ch, string option, mixed value)

   The curl_setopt() function will set options for a CURL session
   identified by the ch parameter. The option parameter is the option you
   want to set, and the value is the value of the option given by the
   option.

   The value should be a long for the following options (specified in the
   option parameter):

     * CURLOPT_INFILESIZE: When you are uploading a file to a remote
       site, this option should be used to tell PHP what the expected
       size of the infile will be.
     * CURLOPT_VERBOSE: Set this option to a non-zero value if you want
       CURL to report everything that is happening.
     * CURLOPT_HEADER: Set this option to a non-zero value if you want
       the header to be included in the output.
     * CURLOPT_NOPROGRESS: Set this option to a non-zero value if you
       don't want PHP to display a progress meter for CURL transfers.

     Note: PHP automatically sets this option to a non-zero parameter,
     this should only be changed for debugging purposes.
     * CURLOPT_NOBODY: Set this option to a non-zero value if you don't
       want the body included with the output.
     * CURLOPT_FAILONERROR: Set this option to a non-zero value if you
       want PHP to fail silently if the HTTP code returned is greater
       than 300. The default behavior is to return the page normally,
       ignoring the code.
     * CURLOPT_UPLOAD: Set this option to a non-zero value if you want
       PHP to prepare for an upload.
     * CURLOPT_POST: Set this option to a non-zero value if you want PHP
       to do a regular HTTP POST. This POST is a normal
       application/x-www-form-urlencoded kind, most commonly used by HTML
       forms.
     * CURLOPT_FTPLISTONLY: Set this option to a non-zero value and PHP
       will just list the names of an FTP directory.
     * CURLOPT_FTPAPPEND: Set this option to a non-zero value and PHP
       will append to the remote file instead of overwriting it.
     * CURLOPT_NETRC: Set this option to a non-zero value and PHP will
       scan your ~./netrc file to find your username and password for the
       remote site that you're establishing a connection with.
     * CURLOPT_FOLLOWLOCATION: Set this option to a non-zero value to
       follow any "Location: " header that the server sends as a part of
       the HTTP header (note this is recursive, PHP will follow as many
       "Location: " headers that it is sent.)
     * CURLOPT_PUT: Set this option to a non-zero value to HTTP PUT a
       file. The file to PUT must be set with the CURLOPT_INFILE and
       CURLOPT_INFILESIZE.
     * CURLOPT_MUTE: Set this option to a non-zero value and PHP will be
       completely silent with regards to the CURL functions.
     * CURLOPT_TIMEOUT: Pass a long as a parameter that contains the
       maximum time, in seconds, that you'll allow the CURL functions to
       take.
     * CURLOPT_LOW_SPEED_LIMIT: Pass a long as a parameter that contains
       the transfer speed in bytes per second that the transfer should be
       below during CURLOPT_LOW_SPEED_TIME seconds for PHP to consider
       too slow and abort.
     * CURLOPT_LOW_SPEED_TIME: Pass a long as a parameter that contains
       the time in seconds that the transfer should be below the
       CURLOPT_LOW_SPEED_LIMIT for PHP to consider it too slow and abort.
     * CURLOPT_RESUME_FROM: Pass a long as a parameter that contains the
       offset, in bytes, that you want the transfer to start from.
     * CURLOPT_CAINFO: Pass a filename of a file holding one or more
       certificates to verify the peer with. This only makes sense when
       used in combination with the CURLOPT_SSL_VERIFYPEER option.
     * CURLOPT_SSL_VERIFYPEER: Pass a long that is set to a zero value to
       stop curl from verifying the peer's certificate (curl 7.10
       starting setting this option to TRUE by default). Alternate
       certificates to verify against can be specified with the
       CURLOPT_CAINFO option (added in curl 7.9.8) or a certificate
       directory can be specified with the CURLOPT_CAPATH option. As of
       curl 7.10, curl installs a default bundle. CURLOPT_SSL_VERIFYHOST
       may also need to be set to 1 or 0 if CURLOPT_SSL_VERIFYPEER is
       disabled (it defaults to 2).
     * CURLOPT_SSLVERSION: Pass a long as a parameter that contains the
       SSL version (2 or 3) to use. By default PHP will try and determine
       this by itself, although, in some cases you must set this
       manually.
     * CURLOPT_SSL_VERIFYHOST: Pass a long if CURL should verify the
       Common name of the peer certificate in the SSL handshake. A value
       of 1 denotes that we should check for the existence of the common
       name, a value of 2 denotes that we should make sure it matches the
       provided hostname.
     * CURLOPT_TIMECONDITION: Pass a long as a parameter that defines how
       the CURLOPT_TIMEVALUE is treated. You can set this parameter to
       TIMECOND_IFMODSINCE or TIMECOND_ISUNMODSINCE. This is a HTTP-only
       feature.
     * CURLOPT_TIMEVALUE: Pass a long as a parameter that is the time in
       seconds since January 1st, 1970. The time will be used as
       specified by the CURLOPT_TIMECONDITION option, or by default the
       TIMECOND_IFMODSINCE will be used.
     * CURLOPT_RETURNTRANSFER: Pass a non-zero value if you want CURL to
       directly return the transfer instead of printing it out directly.

   The value parameter should be a string for the following values of the
   option parameter:

     * CURLOPT_URL: This is the URL that you want PHP to fetch. You can
       also set this option when initializing a session with the
       curl_init() function.
     * CURLOPT_USERPWD: Pass a string formatted in the
       [username]:[password] manner, for PHP to use for the connection.
     * CURLOPT_PROXYUSERPWD: Pass a string formatted in the
       [username]:[password] format for connection to the HTTP proxy.
     * CURLOPT_RANGE: Pass the specified range you want. It should be in
       the "X-Y" format, where X or Y may be left out. The HTTP transfers
       also support several intervals, separated with commas as in
       X-Y,N-M.
     * CURLOPT_POSTFIELDS: Pass a string containing the full data to post
       in an HTTP "POST" operation.
     * CURLOPT_REFERER: Pass a string containing the "referer" header to
       be used in an HTTP request.
     * CURLOPT_USERAGENT: Pass a string containing the "user-agent"
       header to be used in an HTTP request.
     * CURLOPT_FTPPORT: Pass a string containing the value which will be
       used to get the IP address to use for the ftp "POST" instruction.
       The POST 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_COOKIE: Pass a string containing the content of the cookie
       to be set in the HTTP header.
     * CURLOPT_SSLCERT: Pass a string containing the filename of PEM
       formatted certificate.
     * CURLOPT_SSLCERTPASSWD: Pass a string containing the password
       required to use the CURLOPT_SSLCERT certificate.
     * CURLOPT_COOKIEFILE: Pass a string containing 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.
     * CURLOPT_CUSTOMREQUEST: Pass a string to be used instead of GET or
       HEAD when doing an HTTP request. This is useful for doing DELETE
       or other, more obscure, HTTP requests. Valid values are things
       like GET, POST, 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.

     Note: Don't do this without making sure your server supports the
     command first.
     * CURLOPT_PROXY: Give the name of the HTTP proxy to tunnel requests
       through.
     * CURLOPT_INTERFACE: Pass the name of the outgoing network interface
       to use. This can be an interface name, an IP address or a host
       name.
     * CURLOPT_KRB4LEVEL: Pass 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, then 'private' is used. Setting this
       Option to NULL, will disable KRB4 security. Currently KRB4
       security only works with FTP transactions.
     * CURLOPT_HTTPHEADER: Pass an array of HTTP header fields to set.
     * CURLOPT_QUOTE: Pass an array of FTP commands to perform on the
       server prior to the FTP request.
     * CURLOPT_POSTQUOTE: Pass an array of FTP commands to execute on the
       server, after the FTP request has been performed.

   The following options expect a file descriptor that is obtained by
   using the fopen() function:

     * CURLOPT_FILE: The file where the output of your transfer should be
       placed, the default is STDOUT.
     * CURLOPT_INFILE: The file where the input of your transfer comes
       from.
     * CURLOPT_WRITEHEADER: The file to write the header part of the
       output into.
     * CURLOPT_STDERR: The file to write errors to instead of stderr.
   ______________________________________________________________________

   Prev              Home         Next
   curl_multi_select  Up  curl_version
