Выполнение POST-запроса PHP cURL с файлами

Чтобы выполнить POST-запрос PHP cURL к файлам, вы можете использовать следующие методы:

Метод 1: использование параметра CURLOPT_POSTFIELDS

$curl = curl_init();
$postData = array(
    'file1' => new CURLFile('/path/to/file1.jpg'),
    'file2' => new CURLFile('/path/to/file2.png')
);
curl_setopt($curl, CURLOPT_URL, 'http://example.com/upload');
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
curl_exec($curl);
curl_close($curl);

В этом методе вы создаете массив $postData, содержащий файлы, которые необходимо загрузить, с помощью класса CURLFile. Затем вы устанавливаете параметр CURLOPT_POSTFIELDSдля этого массива, который будет включать файлы в запрос POST.

Метод 2: использование символа @

$curl = curl_init();
$postData = array(
    'file1' => '@/path/to/file1.jpg',
    'file2' => '@/path/to/file2.png'
);
curl_setopt($curl, CURLOPT_URL, 'http://example.com/upload');
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
curl_exec($curl);
curl_close($curl);

В этом методе вы определяете пути к файлам напрямую, используя символ @в массиве $postData.

Метод 3: непосредственное использование класса CURLFile

$curl = curl_init();
$postData = array(
    'file1' => curl_file_create('/path/to/file1.jpg'),
    'file2' => curl_file_create('/path/to/file2.png')
);
curl_setopt($curl, CURLOPT_URL, 'http://example.com/upload');
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
curl_exec($curl);
curl_close($curl);

В этом методе вы используете функцию curl_file_createдля создания объектов CURLFileнепосредственно в массиве $postData.

Это некоторые из распространенных методов выполнения POST-запроса PHP cURL с файлами. Не забудьте настроить пути к файлам и URL-адреса в соответствии с вашим конкретным вариантом использования.