Это массив данных, которые я хочу опубликовать на удаленном сервере.
Array
(
[petTitle] => test
[petType] => 2
[breedtype] => dsfsdf
[dateOfBirth] => 14 Apr 2016
[postcode] => 390015
[isPriceNegotiable] => False
[price] => test
[isPublished] => 1
[petQualities] => 2
[petDescription] => test
[username] => [email protected]
[file] => Array
(
[0] => Array
(
[name] => Desert.jpg
[type] => image/jpeg
[tmp_name] => D:\xampp\tmp\php1F32.tmp
[error] => 0
[size] => 845941
)
[1] => Array
(
[name] => Koala.jpg
[type] => image/jpeg
[tmp_name] => D:\xampp\tmp\php1F62.tmp
[error] => 0
[size] => 780831
)
)
)
я использую cURL
, Однако пока я отправляю этот массив с использованием CURLOPT_POSTFIELDS
, это генерирует уведомление «Примечание PHP: преобразование массива в строку».
Я использую так: CURLOPT_POSTFIELDS => $data
, Пожалуйста, обратитесь к запросу curl ниже:
$headers = array("Content-Type:multipart/form-data");
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => self::url,
CURLOPT_HEADER => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_ENCODING => "",
CURLOPT_TIMEOUT => 30,
CURLOPT_POST => 1,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $data,
));
$response = curl_exec($curl);
с помощью этого запроса я могу опубликовать текстовые данные. Но почему-то я не могу загрузить изображение и добавить запись в базу данных.
Любая помощь в этом будет высоко оценена.
Уведомление сработало, потому что массив, который вы передали CURLOPT_POSTFIELDS
имеет неправильный формат. Многоуровневый массив, который вы положили в file
это причина.
Но массив вы положили в file
не поможет вам загрузить любой файл. Так выглядит информация о загруженных файлах на целевом PHP-скрипте, но на стороне источника она выглядит иначе.
Заменить значение file
с:
$data = array(
// ... all the text fields here
'file1' => new CURLFile('... path .../Desert.jpg', 'image/jpeg'),
'file2' => new CURLFile('... path .../Koala.jpg', 'image/jpeg'),
);
замещать ... path ...
в приведенном выше коде с путями соответствующих файлов.
Других решений пока нет …