$_FILES перенаправить на другой сервер

209
30 декабря 2019, 14:50

Столкнулся с проблемой при отправке $_FILES , система такая что я получаю $_FILES от внешнего сервера через POST обрабатываю его ( формирую доп параметры ) и хочу отправляю на сервер для хранения изображений с новыми параметрами

сервер для хранения тоже хочет принимать $_FILES но у меня не получается сформировать

Коллеги подскажите как мне правильно принять и отправить $_FILES пытаюсь отправлять на сервер через curl

 $curlOptions = [
        CURLOPT_POST           => 1,
        CURLOPT_POSTFIELDS     => http_build_query($this->sendParams),
        CURLOPT_URL            => $this->url,
        CURLOPT_RETURNTRANSFER => 1,
    ];

но curl мне не отправляет $_FILES как правильно это сделать ?

Answer 1

Для отправки файлов через curl вам необходимо передавать в CURLOPT_POSTFIELDS не строку, а массив. То есть удалите http_build_query.

В массиве параметров представьте необходимые для отправки файлы через объекты CURLFile

$this->sendParams['uploadfile'] = new \CURLFile(
    $tmpFilename // имя из $_FILES['tmp_name']
);

Если необходимо, заполните mime-тип и имя файла как его увидит удалённый сервер.

READ ALSO
yii2 перенос сайта с VDS на VDS

yii2 перенос сайта с VDS на VDS

При переносе с со старого на новую виртуальную машину выдает ошибку такую:

163
mysql Получить данные из двух таблиц одним запросом

mysql Получить данные из двух таблиц одним запросом

есть три таблицы страна->регион->город где в каждой последующей есть id предыдущей, к которой та относится:

144
Вывод значений из БД в шаблон HTML PHP

Вывод значений из БД в шаблон HTML PHP

Вопрос банальный, но тем не менее меня интересует как правильно это делаетсяПишу на Yii2 приложение, есть страница с информацией по автомобилю,...

166
std::map и класс с конструктором копирования

std::map и класс с конструктором копирования

Почему данный код, пытающийся запихнуть пару - int и класс с конструктором копирования, не работает?

149