如何使用curl或Zend_Http_Client()发送文件

时间:2011-02-13 21:06:05

标签: php zend-framework

有没有人有一个使用curl将文件发送到zend应用程序的示例。我正在尝试模拟客户端将文件发送到服务器方案。所以我尝试了这两种方法,但我没有得到任何帖子数据。这是$ post数据的卷曲方式

$url = 'http://test.com/test';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
$post = array(
  'file' => '@file.jpg'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
$response = curl_exec($ch);
curl_close($ch);
var_dump($response );

我也用Zend_Http_Client

尝试了这个
$client = new Zend_Http_Client($url);
$client->setFileUpload('file.jpg', 'image');
$response = $client->request();
var_dump($results);

我应该在接收端接收文件做什么?输出$this->_request->getParams()时我没有得到任何东西。这应该是什么样的?

1 个答案:

答案 0 :(得分:1)

您需要使用Zend_File_Transfer_Adapter_Http在客户端接收文件:

$adapter = new Zend_File_Transfer_Adapter_Http(); 

$adapter->setDestination('C:\temp');

if (!$adapter->receive()) {
    $messages = $adapter->getMessages();
    echo implode("\n", $messages);
}

您的文件将被复制到目标目录(在这种情况下为c:\ temp)。