Как загрузить файл через cURL в Kohana 3?

Я попробую

$request = Request::factory($url)->method(Request::POST)->post('xml', '@' . $filepath);
echo $request->execute();

но print_r($_FILES); в целевом скрипте возвращает пустой массив.

Версия Kohana является стабильной 3.2.0

То, что я хочу, это простой аналог

$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('xml' => '@' . $filepath));
$res = curl_exec($ch);
echo $res;

2 ответа

Пытаться:

$ request_url = 'your_url_here';
        $ post_params ['name'] = urlencode ('Тестовый пользователь');
        $post_params['file'] = '@'.'demo/testfile.txt';
        $post_params['submit'] = urlencode('submit');

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $request_url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_params);
        $result = curl_exec($ch);
        curl_close($ ч);

Теперь это можно сделать с помощью Kohana 3.3, используя метод Request#files().

Изменить: на самом деле, это не часть официального релиза, поэтому до 3.4 вы, вероятно, не сможете это сделать.

Другие вопросы по тегам