Php 通过Zend_Http_Client_Adapter_Curl发布大数据
我使用Php 通过Zend_Http_Client_Adapter_Curl发布大数据,php,zend-framework,post,zend-http-client,Php,Zend Framework,Post,Zend Http Client,我使用$site->setParameterPost和$site->request('POST')->getBody()将数据发布到动作,其中setParameterPost的一个参数是非常大的数据,它不通过POST方法发送数据。我能做什么 $config = array('adapter' => 'Zend_Http_Client_Adapter_Curl' ); $site = new Zend_Http_Client('http://somewhere.tld/api/ne
$site->setParameterPost
和$site->request('POST')->getBody()
将数据发布到动作,其中setParameterPost
的一个参数是非常大的数据,它不通过POST方法发送数据。我能做什么
$config = array('adapter' => 'Zend_Http_Client_Adapter_Curl' );
$site = new Zend_Http_Client('http://somewhere.tld/api/news', $config);
$site->setParameterPost(array(
'news' => $news, //very big data, without it data send properly
'modelName' => 'somemodel',
'method' => 'somemethod',
'key' => 'something',
'siteName' => $sitename,
));
$sitedata = $site->request('POST')->getBody();
我应该使用流式请求,这只允许使用PUT方法
$http_client = new Zend_Http_Client ('http://something.some/thing');
$http_client->setConfig (array (
'adapter' => 'Zend_Http_Client_Adapter_Curl',
'timeout' => 180
));
$file = fopen ('news.dat', 'r'); // put all your news to the file beforehand
$http_client->setRawData ($file);
$http_client->setParameterPost (array (
'modelName' => 'somemodel',
'method' => 'somemethod',
'key' => 'something',
'siteName' => $sitename
));
$response = $http_client->request ('PUT');
在服务器端,您可以通过
fopen ("php://input", "r");
我应该使用流式请求,这只允许使用PUT方法
$http_client = new Zend_Http_Client ('http://something.some/thing');
$http_client->setConfig (array (
'adapter' => 'Zend_Http_Client_Adapter_Curl',
'timeout' => 180
));
$file = fopen ('news.dat', 'r'); // put all your news to the file beforehand
$http_client->setRawData ($file);
$http_client->setParameterPost (array (
'modelName' => 'somemodel',
'method' => 'somemethod',
'key' => 'something',
'siteName' => $sitename
));
$response = $http_client->request ('PUT');
在服务器端,您可以通过
fopen ("php://input", "r");