Как загрузить файл через 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 вы, вероятно, не сможете это сделать.