Outoverlay
@Outoverlay

Как отправить файл с помощью curl?

Странность, что uploadpost.php печатает суперглобальный массив $_POST: "Array ( [file_box] => @C:/server/images/1.png)"
А суперглобальный массив $_FILES: "array()"

В чем проблема?

$post = array(
    "file_box" => "@C:/server/images/1.png"
);

$ch = curl_init();

// сообщаем куда будет отправлять
curl_setopt($ch, CURLOPT_URL, 'http://test.loc/test/uploadpost.php' );

// файлы и данные будет отправлены
curl_setopt($ch, CURLOPT_POSTFIELDS, $post );

// передаем true или 1 если хотим ждать ответа после запроса
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// включим отладочную информацию
curl_setopt($ch, CURLOPT_VERBOSE, true);

$response = curl_exec( $ch );

echo $response;
  • Вопрос задан
  • 5627 просмотров
Решения вопроса 1
@IceJOKER
Web/Android developer
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Nc_Soft
if (class_exists('\CURLFile')) {
            curl_setopt($ch, CURLOPT_POSTFIELDS, ['file_box' => new \CURLFile($path)]);
        } else {
            curl_setopt($ch, CURLOPT_POSTFIELDS, ['file_box' => "@$path"]);
        }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽