(PHP 4 >= 4.0.2, PHP 5)
Curl_setopt — Установите опцию транспорта cURL.
bool Curl_setopt (ресурс $ch, int $option, смешанное $value)
Устанавливает опцию для данного дескриптора сеанса cURL.
ч
Дескриптор cURL, возвращаемый функцией Curl_init().
вариант
Необходимо установить параметры CURLOPT_XXX.
ценить
Значение, которое будет установлено для опции.
Для необязательных параметров следующих параметров значение должно быть установлено в значение типа bool:
Параметры | Необязательное значение | Примечание |
---|---|---|
CURLOPT_AUTOREFERER | При перенаправлении на основе Location: информация Referer: в заголовке устанавливается автоматически. | |
CURLOPT_BINARYTRANSFER | Возвращает необработанный вывод, если CURLOPT_RETURNTRANSFER включен. | |
CURLOPT_COOKIESESSION | Если этот параметр включен, Curl будет передавать только один файл cookie сеанса и игнорировать другие файлы cookie. По умолчанию Curl возвращает все файлы cookie на сервер. Сеансовые файлы cookie относятся к файлам cookie, которые используются для определения того, действителен ли сеанс на стороне сервера. | |
CURLOPT_CRLF | Если этот параметр включен, преобразует символы новой строки Unix в символы возврата каретки и перевода строки. | |
CURLOPT_DNS_USE_GLOBAL_CACHE | Если этот параметр включен, глобальный кэш DNS включен. Это потокобезопасно и включено по умолчанию. | |
CURLOPT_FAILONERROR | Отображает код состояния HTTP. По умолчанию сообщения HTTP с номерами меньше или равными 400 игнорируются. | |
CURLOPT_FILETIME | Если этот параметр включен, пытается изменить информацию в удаленном документе. Информация о результате будет возвращена через опцию CURLINFO_FILETIME функции curl_getinfo(). Curl_getinfo(). | |
CURLOPT_FOLLOWLOCATION | Если этот параметр включен, «Location:» , возвращаемый сервером, будет помещен в заголовок и рекурсивно возвращен на сервер. Используйте CURLOPT_MAXREDIRS , чтобы ограничить количество рекурсивных возвратов. | |
CURLOPT_FORBID_REUSE | Соединение принудительно разрывается после завершения взаимодействия и не может быть повторно использовано. | |
CURLOPT_FRESH_CONNECT | Принудительно устанавливается новое соединение, заменяющее соединение в кеше. | |
CURLOPT_FTP_USE_EPRT | Если этот параметр включен, используйте команду EPRT (или LPRT) при загрузке по FTP. Если установлено значение FALSE, EPRT и LPRT отключаются, используйте только команду PORT. | |
CURLOPT_FTP_USE_EPSV | Если этот параметр включен, команды EPSV сначала выполняются перед возвратом в режим PASV во время передачи по FTP. Отключает команду EPSV, если установлено значение FALSE . | |
CURLOPT_FTPAPPEND | Если функция Append включена, она записывает файл, а не перезаписывает его. | |
CURLOPT_FTPASCII | Псевдоним для CURLOPT_TRANSFERTEXT . | |
CURLOPT_FTPLISTONLY | Если этот параметр включен, отображаются только имена FTP-каталогов. | |
CURLOPT_HEADER | Если этот параметр включен, информация файла заголовка будет выводиться в виде потока данных. | |
CURLINFO_HEADER_OUT | Строка запроса для дескрипторов трассировки, если она включена. | Доступно начиная с PHP 5.1.3. Префикс CURLINFO_ установлен намеренно. |
CURLOPT_HTTPGET | Если этот параметр включен, для метода HTTP будет установлено значение GET. Поскольку GET используется по умолчанию, он будет использоваться только в случае его изменения. | |
CURLOPT_HTTPPROXYTUNNEL | Если этот параметр включен, передача осуществляется через HTTP-прокси. | |
CURLOPT_MUTE | Если эта опция включена, все измененные параметры в функции cURL будут восстановлены до значений по умолчанию. | |
CURLOPT_NETRC | После установки соединения откройте файл ~/.netrc , чтобы получить информацию об имени пользователя и пароле для подключения к удаленному сайту. | |
CURLOPT_NOBODY | Если этот параметр включен, часть HTML BODY не будет выводиться. | |
CURLOPT_NOPROGRESS | Отключить индикатор выполнения передачи завитков, если он включен. Настройка этого элемента по умолчанию включена.
| |
CURLOPT_NOSIGNAL | Если этот параметр включен, игнорирует все сигналы, передаваемые через Curl в php. Этот элемент включен по умолчанию во время многопоточной передачи SAPI. | Добавлено в cURL 7.10. |
CURLOPT_POST | Если этот параметр включен, будет отправлен обычный POST-запрос типа: application/x-www-form-urlencoded , точно так же, как при отправке формы. | |
CURLOPT_PUT | Если этот параметр включен, чтобы разрешить отправку файлов по протоколу HTTP, необходимо установить как CURLOPT_INFILE , так и CURLOPT_INFILESIZE . | |
CURLOPT_RETURNTRANSFER | Возвращайте информацию, полученную функцией Curl_exec(), в виде файлового потока вместо того, чтобы выводить ее напрямую. | |
CURLOPT_SSL_VERIFYPEER | Если отключено, cURL прекратит проверку на сервере. Установите сертификат с помощью параметра CURLOPT_CAINFO . Установите каталог сертификата с помощью параметра CURLOPT_CAPATH . Если CURLOPT_SSL_VERIFYPEER (по умолчанию 2) включен, для CURLOPT_SSL_VERIFYHOST необходимо установить значение TRUE, в противном случае установите значение FALSE . | По умолчанию значение TRUE, начиная с cURL 7.10. Начиная с cURL 7.10, установка пакета выполняется по умолчанию. |
CURLOPT_TRANSFERTEXT | Если этот параметр включен, для передачи по FTP используется режим ASCII. Для LDAP он извлекает информацию в виде простого текста, а не HTML. В системах Windows система не переводит STDOUT в двоичный режим. | |
CURLOPT_UNRESTRICTED_AUTH | Постоянно добавляйте информацию об имени пользователя и пароле в несколько мест в заголовке, созданном с помощью CURLOPT_FOLLOWLOCATION , даже если имя домена изменилось. | |
CURLOPT_UPLOAD | Разрешить загрузку файлов, если эта функция включена. | |
CURLOPT_VERBOSE | Если этот параметр включен, вся информация будет сообщаться и храниться в STDERR или указанном CURLOPT_STDERR . |
Для необязательных параметров следующих параметров значение должно быть установлено в значение целочисленного типа:
Параметры | Необязательное значение | Примечание |
---|---|---|
CURLOPT_BUFFERSIZE | Размер кэша считывается в полученные данные каждый раз, но нет гарантии, что это значение будет заполняться каждый раз. | Добавлено в cURL 7.10. |
CURLOPT_CLOSEPOLICY | Либо CURLCLOSEPOLICY_LEAST_RECENTLY_USED, либо CURLCLOSEPOLICY_OLDEST, есть еще три CURLCLOSEPOLICY, но cURL их пока не поддерживает. | |
CURLOPT_CONNECTTIMEOUT | Время ожидания перед началом соединения. Если установлено значение 0, ожидание будет неограниченным. | |
CURLOPT_CONNECTTIMEOUT_MS | Время ожидания попытки подключения в миллисекундах. Если установлено значение 0, ждать бесконечно. | Добавлено в cURL 7.16.2. Доступно начиная с PHP 5.2.3. |
CURLOPT_DNS_CACHE_TIMEOUT | Установите время сохранения информации DNS в памяти, значение по умолчанию — 120 секунд. | |
CURLOPT_FTPSSLAUTH | Метод аутентификации FTP: CURLFTPAUTH_SSL (сначала попробуйте SSL), CURLFTPAUTH_TLS (сначала попробуйте TLS) или CURLFTPAUTH_DEFAULT (пусть cURL решит автоматически). | Добавлено в cURL 7.12.2. |
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (по умолчанию, позволяет Curl решить, какую версию использовать), CURL_HTTP_VERSION_1_0 (принудительно использовать HTTP/1.0) или CURL_HTTP_VERSION_1_1 (принудительно использовать HTTP/1.1). | |
CURLOPT_INFILESIZE | Установите ограничение размера загружаемых файлов в байтах. | |
CURLOPT_LOW_SPEED_LIMIT | Когда скорость передачи меньше CURLOPT_LOW_SPEED_LIMIT (байт/сек), PHP будет использовать CURLOPT_LOW_SPEED_TIME, чтобы определить, следует ли отменить передачу, поскольку она слишком медленная. | |
CURLOPT_LOW_SPEED_TIME | Когда скорость передачи меньше CURLOPT_LOW_SPEED_LIMIT (байт/сек), PHP будет использовать CURLOPT_LOW_SPEED_TIME, чтобы определить, следует ли отменить передачу, поскольку она слишком медленная. | |
CURLOPT_MAXCONNECTS | Максимально разрешенное количество подключений, если оно превышено, CURLOPT_CLOSEPOLICY будет использоваться для определения того, какие соединения следует остановить. | |
CURLOPT_MAXREDIRS | Указывает максимальное количество перенаправлений HTTP. Этот параметр используется с CURLOPT_FOLLOWLOCATION . | |
CURLOPT_PORT | Используется для указания порта подключения. (необязательный) | |
CURLOPT_PROTOCOLS | Битовое поле относится к CURLPROTO_* . Если этот параметр включен, значение битового поля ограничивает протоколы, которые libcurl может использовать во время передачи. Это позволит вам скомпилировать libcurl для поддержки многих протоколов, но использовать только их подмножество, разрешенное к использованию. По умолчанию libcurl будет использовать все поддерживаемые протоколы. См. CURLOPT_REDIR_PROTOCOLS. Доступные параметры протокола: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, TO_ALL | Добавлено в cURL 7.19.4. |
CURLOPT_PROTOCOLS | Битовое поле относится к CURLPROTO_* . Если этот параметр включен, значение битового поля ограничивает протоколы, которые libcurl может использовать во время передачи. Это позволит вам скомпилировать libcurl для поддержки многих протоколов, но использовать только их подмножество, разрешенное к использованию. По умолчанию libcurl будет использовать все поддерживаемые протоколы. См. CURLOPT_REDIR_PROTOCOLS. Доступные параметры протокола: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, TO_ALL | Добавлено в cURL 7.19.4. |
CURLOPT_PROXYAUTH | Метод проверки HTTP-прокси-соединений. Используйте флаги битового поля в CURLOPT_HTTPAUTH, чтобы установить соответствующие параметры. Для аутентификации прокси в настоящее время поддерживаются только CURLAUTH_BASIC и CURLAUTH_NTLM . | Добавлено в cURL 7.10.7. |
CURLOPT_PROXYPORT | Порт прокси-сервера. Порт также можно установить в CURLOPT_PROXY . | |
CURLOPT_PROXYTYPE | Либо CURLPROXY_HTTP (по умолчанию), либо CURLPROXY_SOCKS5 . | Добавлено в cURL 7.10. |
CURLOPT_REDIR_PROTOCOLS | Значение битового поля в CURLPROTO_* . Если этот параметр включен, значение битового поля будет ограничивать протоколы, которые транспортный поток может использовать при следовании за перенаправлением, когда CURLOPT_FOLLOWLOCATION включен. Это позволит вам ограничить транспортный поток подмножеством разрешенных протоколов при перенаправлении. По умолчанию libcurl разрешает все протоколы, кроме FILE и SCP. Это немного отличается от предварительной версии 7.19.4, которая безоговорочно соответствует всем поддерживаемым протоколам. Константы протокола см. в CURLOPT_PROTOCOLS . | Добавлено в cURL 7.19.4. |
CURLOPT_RESUME_FROM | Передайте смещение в байтах при возобновлении передачи (используется для возобновления передачи). | |
CURLOPT_SSL_VERIFYHOST | 1 Проверьте, есть ли общее имя в SSL-сертификате сервера. Примечание переводчика: Общее имя (Common Name) обычно означает указание доменного имени (домена) или субдомена (субдомена), для которого вы собираетесь подать заявку на получение SSL-сертификата. 2. Убедитесь, что общее имя существует и соответствует указанному имени хоста. | |
CURLOPT_SSLVERSION | Используемая версия SSL (2 или 3). По умолчанию PHP определит это значение самостоятельно, хотя в некоторых случаях его может потребоваться установить вручную. | |
CURLOPT_TIMECONDITION | Если он был отредактирован после определенного времени, указанного CURLOPT_TIMEVALUE , используйте CURL_TIMECOND_IFMODSINCE для возврата страницы. Если он не был изменен и CURLOPT_HEADER имеет значение true, возвращается заголовок «304 Not Modified» . Если CURLOPT_HEADER имеет значение false, используйте CURL_TIMECOND_IFUNMODSINCE. значение по умолчанию — CURL_TIMECOND_IFUNMODSINCE . | |
CURLOPT_TIMEOUT | Установите максимальное количество секунд, в течение которых cURL может выполняться. | |
CURLOPT_TIMEOUT_MS | Устанавливает максимальное количество миллисекунд, в течение которого cURL разрешено выполняться. | Добавлено в cURL 7.16.2. Доступно начиная с PHP 5.2.3. |
CURLOPT_TIMEVALUE | Установите временную метку, используемую CURLOPT_TIMECONDITION . По умолчанию используется CURL_TIMECOND_IFMODSINCE . |
Для необязательных параметров следующих параметров значение должно быть установлено в значение строкового типа:
Параметры | Необязательное значение | Примечание |
---|---|---|
CURLOPT_CAINFO | Имя файла, содержащего один или несколько сертификатов для проверки сервером. Этот параметр имеет смысл только при использовании с CURLOPT_SSL_VERIFYPEER . . | |
CURLOPT_CAPATH | Каталог, содержащий несколько сертификатов CA. Эта опция используется с CURLOPT_SSL_VERIFYPEER . | |
CURLOPT_COOKIE | Установите содержимое части «Cookie:» HTTP-запроса. Несколько файлов cookie разделяются точкой с запятой, за которой следует пробел (например, « fruit=apple; color=red »). | |
CURLOPT_COOKIEFILE | Имя файла, содержащего данные cookie. Формат файла cookie может быть форматом Netscape, или в файле может храниться только информация заголовка HTTP. | |
CURLOPT_COOKIEJAR | Файл, в котором сохраняется информация cookie после завершения соединения. | |
CURLOPT_CUSTOMREQUEST | Используйте собственное сообщение запроса вместо «GET» или «HEAD» для HTTP-запроса. Это полезно для выполнения «DELETE» или других более скрытных HTTP-запросов. Допустимые значения: «GET» , «POST» , «CONNECT» и т. д. То есть не вводите сюда весь HTTP-запрос. Например, ввод «GET /index.html HTTP/1.0rnrn» неверен.
| |
CURLOPT_EGDSOCKET | Аналогично CURLOPT_RANDOM_FILE , за исключением сокета демона сбора энтропии. | |
CURLOPT_ENCODING | Значение «Accept-Encoding:» в заголовке HTTP-запроса. Поддерживаемые кодировки: «identity» , «deflate» и «gzip» . Если это пустая строка "" , все поддерживаемые типы кодировки будут отправлены в заголовке запроса. | Добавлено в cURL 7.10. |
CURLOPT_FTPPORT | Это значение будет использоваться для получения IP-адреса, необходимого для команды FTP «POST». Команда «POST» сообщает удаленному серверу подключиться к указанному нами IP-адресу. Эта строка может быть обычным текстовым IP-адресом, именем хоста, именем сетевого интерфейса (в UNIX) или просто знаком «-», чтобы использовать IP-адрес по умолчанию. | |
CURLOPT_ИНТЕРФЕЙС | Имя сетевого интерфейса отправки может быть именем интерфейса, IP-адресом или именем хоста. | |
CURLOPT_KRB4LEVEL | Уровень безопасности KRB4 (Kerberos 4). Допустимы любые из следующих значений (в порядке убывания): «ясно» , «безопасно» , «конфиденциально» , «частно». Если строка не соответствует ни одному из этих значений, будет использоваться «частная» . Установка для этого параметра значения NULL отключит аутентификацию безопасности KRB4. В настоящее время сертификацию безопасности KRB4 можно использовать только для передачи по FTP. | |
CURLOPT_POSTFIELDS | Все данные отправляются с помощью операции «POST» в протоколе HTTP. Чтобы отправить файл, добавьте к имени файла префикс @ и используйте полный путь. Этот параметр можно передать как строку в кодировке URL, например ' para1=val1¶2=val2&... ', или использовать массив с именем поля в качестве ключа и данными поля в качестве значения. Если значение является массивом, заголовку Content-Type будет присвоено значение multipart/form-data . | |
CURLOPT_PROXY | HTTP-прокси-канал. | |
CURLOPT_PROXYUSERPWD | Строка в формате «[имя пользователя]:[пароль]», используемая для подключения к прокси. | |
CURLOPT_RANDOM_FILE | Имя файла, используемого для генерации начального значения случайного числа SSL. | |
CURLOPT_RANGE | В форме «XY» , где X и Y — необязательные параметры для получения диапазона данных в байтах. Транспортный поток HTTP также поддерживает несколько таких дубликатов, разделенных запятыми, например «XY,NM» . | |
CURLOPT_REFERER | Содержимое «Referer:» в заголовке HTTP-запроса. | |
CURLOPT_SSL_CIPHER_LIST | Список алгоритмов шифрования SSL. Например, RC4-SHA и TLSv1 являются доступными списками шифрования. | |
CURLOPT_SSLCERT | Имя файла, содержащего сертификат в формате PEM. | |
CURLOPT_SSLCERTPASSWD | Для использования сертификата CURLOPT_SSLCERT требуется пароль. | |
CURLOPT_SSLCERTTYPE | Тип сертификата. Поддерживаемые форматы: «PEM» (по умолчанию), «DER» и «ENG» . | Добавлено в cURL 7.9.3. |
CURLOPT_SSLENGINE | Переменная механизма шифрования, используемая для закрытого ключа SSL, указанного в CURLOPT_SSLKEY . | |
CURLOPT_SSLENGINE_DEFAULT | Переменные, используемые для операций асимметричного шифрования. | |
CURLOPT_SSLKEY | Имя файла, содержащего закрытый ключ SSL. | |
CURLOPT_SSLKEYPASSWD | Пароль для закрытого ключа SSL, указанного в CURLOPT_SSLKEY .
| |
CURLOPT_SSLKEYTYPE | Тип шифрования закрытого ключа, указанный в CURLOPT_SSLKEY . Поддерживаемые типы ключей: «PEM» (значение по умолчанию), «DER» и «ENG» . | |
CURLOPT_URL | URL-адрес, который необходимо получить, также можно установить в функции Curl_init() . | |
CURLOPT_USERAGENT | Включите строку заголовка «User-Agent:» в HTTP-запрос. | |
CURLOPT_USERPWD | Передайте имя пользователя и пароль, необходимые для подключения, в формате: «[имя пользователя]:[пароль]» . |
Для необязательных параметров следующих опций значение должно быть установлено в массив:
Параметры | Необязательное значение | Примечание |
---|---|---|
CURLOPT_HTTP200АЛИЯСЫ | 200, ответ в массиве считается правильным ответом, в противном случае он считается ошибкой. | Добавлено в cURL 7.10.3. |
CURLOPT_HTTPHEADER | Массив, используемый для установки полей заголовка HTTP. Для установки используйте массив в следующей форме: array('Тип контента: text/plain', 'Длина контента: 100') | |
CURLOPT_POSTQUOTE | Набор FTP-команд, выполняемых на сервере после выполнения FTP-запроса. | |
CURLOPT_QUOTE | Набор FTP-команд, которые должны быть выполнены на сервере перед FTP-запросом. |
Для необязательных параметров следующих опций значение должно быть установлено в ресурс потока (например, с помощью fopen()):
Параметры | Необязательное значение |
---|---|
CURLOPT_ФАЙЛ | Задайте расположение выходного файла. Значением является тип ресурса. По умолчанию используется STDOUT (браузер). |
CURLOPT_INFILE | Адрес файла, который необходимо прочитать при загрузке файла. Значение — тип ресурса. |
CURLOPT_STDERR | Установите адрес вывода ошибки, значением является тип ресурса, заменяющий STDERR по умолчанию. |
CURLOPT_WRITEHEADER | Задайте адрес файла, в который записывается содержимое части заголовка, а значением является тип ресурса. |
Для необязательных параметров следующих опций в качестве значения должно быть установлено имя функции обратного вызова:
Параметры | Необязательное значение |
---|---|
CURLOPT_HEADERFUNCTION | Установите функцию обратного вызова. Эта функция имеет два параметра: первый — это дескриптор ресурса cURL, а второй — выходные данные заголовка. Вывод данных заголовка должен зависеть от этой функции, которая возвращает размер записанных данных. |
CURLOPT_PASSWDFUNCTION | Установите функцию обратного вызова с тремя параметрами: первый — это дескриптор ресурса cURL, второй — запрос пароля, а третий параметр — максимально допустимая длина пароля. Возвращает значение пароля. |
CURLOPT_PROGRESSFUNCTION | Настройте функцию обратного вызова с тремя параметрами: первый — это дескриптор ресурса cURL, второй — ресурс дескриптора файла, а третий — длина. Возвращает содержащиеся данные. |
CURLOPT_READFUNCTION | Имя функции обратного вызова. Эта функция должна принимать три параметра. Первый — ресурс cURL; второй — ресурс потока, передаваемый в cURL через опцию CURLOPT_INFILE ; третий параметр — максимальный объем данных, которые можно прочитать; Функция обратного вызова должна возвращать строку, длина которой меньше или равна запрошенному объему данных (третий параметр). Обычно читается из ресурса входящего потока. Возвращает пустую строку как сигнал EOF (конец файла). |
CURLOPT_WRITEFUNCTION | Имя функции обратного вызова. Эта функция должна принимать два параметра. Первый — это ресурс cURL; второй — записываемая строка данных. Данные должны быть сохранены внутри функции. Функция должна возвращать точное количество байтов, переданных для записи данных, иначе передача будет прервана из-за ошибки. |
Возвращает TRUE в случае успеха или FALSE в случае неудачи.
Версия | иллюстрировать |
---|---|
5.2.10 | Представлены CURLOPT_PROTOCOLS и CURLOPT_REDIR_PROTOCOLS . |
5.1.0 | Представлены CURLOPT_AUTOREFERER , CURLOPT_BINARYTRANSFER , CURLOPT_FTPSSLAUTH , CURLOPT_PROXYAUTH и CURLOPT_TIMECONDITION . |
5.0.0 | Представлены CURLOPT_FTP_USE_EPRT , CURLOPT_NOSIGNAL , CURLOPT_UNRESTRICTED_AUTH , CURLOPT_BUFFERSIZE , CURLOPT_HTTPAUTH , CURLOPT_PROXYPORT , CURLOPT_PROXYTYPE , CURLOPT_SSLCERTTYPE и CURLOPT_HTTP200ALIASES . . |
Инициализируйте новый сеанс cURL и получите веб-страницу.
<?php// Создайте новый ресурс cURL $ch = cur_init();// Установите URL-адрес и соответствующие параметры Curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); , CURLOPT_HEADER, ложь);// Захватите URL-адрес и передайте его браузеру. Curl_exec($ch);//Закройте ресурс cURL и освободите системный ресурс Curl_close($ch);?>
Загрузить пример файла:
<?php/* http://localhost/upload.php:print_r($_POST);print_r($_FILES);*/$ch = curl_init();$data = array('name' => 'Foo', 'file' => '@/home/user/test.png');curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);curl_exec($ch);?>
Результаты вывода приведенного выше примера следующие:
Array( [имя] => Foo)Array( [файл] => Массив ( [имя] => test.png [тип] => image/png [tmp_name] => /tmp/phpcpjNeQ [ошибка] => 0 [ размер] => 279 ))
При передаче массива в CURLOPT_POSTFIELDS cURL кодирует данные в multipart/form-data, тогда как при передаче строки в кодировке URL данные будут кодироваться в application/x-www-form-urlencoded.