2011-12-18 90 views
1

我尝试如何通过kohana 3中的cURL上传文件?

$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; 

回答

0

尝试:

 
$request_url = 'your_url_here'; 
     $post_params['name'] = urlencode('Test User'); 
     $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($ch); 
+0

它不是Kohana) – Argnist 2011-12-18 07:17:41

0

现在它可能是使用Kohana开发利用3.3做请求#files()方法。

编辑:实际上,它不是官方发布的一部分,所以在3.4之前,你可能无法做到这一点。