Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用curl或Zend_Http_Client()发送文件_Php_Zend Framework - Fatal编程技术网

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

Php 如何使用curl或Zend_Http_Client()发送文件,php,zend-framework,Php,Zend Framework,有人举过使用curl向zend应用程序发送文件的例子吗。我试图模拟一个客户端向服务器发送文件的场景。所以我尝试了这两种方法,但是我没有得到任何post数据。这是使用$post数据的方法 $url = 'http://test.com/test'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); $post = array( 'file' => '@

有人举过使用curl向zend应用程序发送文件的例子吗。我试图模拟一个客户端向服务器发送文件的场景。所以我尝试了这两种方法,但是我没有得到任何post数据。这是使用$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 = new Zend_Http_Client($url);
$client->setFileUpload('file.jpg', 'image');
$response = $client->request();
var_dump($results);

我应该在接收端做什么来接收文件?当我输出
$this->\u request->getParams()
时,我没有得到任何东西。这应该是什么样子?

您需要使用
Zend\u File\u Transfer\u Adapter\u Http
在客户端接收文件:

$adapter = new Zend_File_Transfer_Adapter_Http(); 

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

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

您的文件将被复制到目标目录中(在本例中为c:\temp)。

您正在查看此类内容吗?