File: curl-setopt-array.xml

package info (click to toggle)
php-doc 20100521-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze, wheezy
  • size: 59,992 kB
  • ctags: 4,085
  • sloc: xml: 796,833; php: 21,338; cpp: 500; sh: 117; makefile: 58; awk: 28
file content (149 lines) | stat: -rw-r--r-- 3,857 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 297028 $ -->
<refentry xml:id="function.curl-setopt-array" xmlns="http://docbook.org/ns/docbook">
 <refnamediv>
  <refname>curl_setopt_array</refname>
  <refpurpose>Set multiple options for a cURL transfer</refpurpose>
 </refnamediv>
 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type>bool</type><methodname>curl_setopt_array</methodname>
   <methodparam><type>resource</type><parameter>ch</parameter></methodparam>
   <methodparam><type>array</type><parameter>options</parameter></methodparam>
  </methodsynopsis>
  <para>
   Sets multiple options for a cURL session. This function is
   useful for setting a large amount of cURL options without repetitively
   calling <function>curl_setopt</function>.
  </para>
 </refsect1>

 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    &curl.ch.description;
    <varlistentry>
     <term><parameter>options</parameter></term>
     <listitem>
      <para>
       An <type>array</type> specifying which options to set and their values.
       The keys should be valid <function>curl_setopt</function> constants or
       their integer equivalents.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>

 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   Returns &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 <parameter>options</parameter> array.
  </para>
 </refsect1>

 <refsect1 role="examples">
  &reftitle.examples;
  <para>
   <example>
    <title>
     Initializing a new cURL session and fetching a web page
    </title>
    <programlisting role="php">
<![CDATA[
<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
$options = array(CURLOPT_URL => 'http://www.example.com/',
                 CURLOPT_HEADER => false
                );

curl_setopt_array($ch, $options);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>
]]>
    </programlisting>
   </example>
  </para>
  <para>
   Prior to PHP 5.1.4 this function can be simulated with:
  </para>
  <para>
   <example>
    <title>Our own implementation of <function>curl_setopt_array</function></title>
    <programlisting role="php">
<![CDATA[
<?php
if (!function_exists('curl_setopt_array')) {
   function curl_setopt_array(&$ch, $curl_options)
   {
       foreach ($curl_options as $option => $value) {
           if (!curl_setopt($ch, $option, $value)) {
               return false;
           } 
       }
       return true;
   }
}
?>
]]>
    </programlisting>
   </example>
  </para>
 </refsect1>

 <refsect1 role="notes">
  &reftitle.notes;
  <note>
   <para>
    As with <function>curl_setopt</function>, passing an array to 
    <constant>CURLOPT_POST</constant> will encode the data as 
    <emphasis>multipart/form-data</emphasis>, while passing a 
    URL-encoded string will encode the data as 
    <emphasis>application/x-www-form-urlencoded</emphasis>.
   </para>
  </note>
 </refsect1>

 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
    <member><function>curl_setopt</function></member>
   </simplelist>
  </para>
 </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->