可以通过Zend HTTP Client下载文件吗?

时间:2010-07-04 01:14:10

标签: php zend-framework http

我正在尝试构建一个脚本,它使用Zend http客户端下载文件:http://framework.zend.com/manual/en/zend.http.html但我无法找到它说如何执行此操作的任何地方,所以我想知道它是否可能.. 。该文件依赖于登录,因此我需要通过zend http客户端完成它,以便它可以利用脚本登录时创建的cookie。

非常感谢任何建议

3 个答案:

答案 0 :(得分:8)

像对待网页一样完成文件请求。响应的主体应包含文件的二进制数据(如果您正在下载 CSS,XML等文件,则可能包含文本数据)。

$body = $response->getBody();
file_put_contents("myfile.zip",$body);

答案 1 :(得分:6)

示例#11从带有流的HTTP服务器接收文件

  $client->setStreaming(); // will use temp file

  $response = $client->request('GET');

  // copy file

  copy($response->getStreamName(), "my/downloads/file");

  // use stream

  $fp = fopen("my/downloads/file2", "w");

  stream_copy_to_stream($response->getStream(), $fp);

  // Also can write to known file

  $client->setStreaming("my/downloads/myfile)->request('GET');

http://framework.zend.com/manual/en/zend.http.client.advanced.html

最后一个例子

答案 2 :(得分:3)

就个人而言,我会改用cURL。

PHP手册中的

cURL:http://php.net/manual/en/book.curl.php

使用cURL下载文件的简单示例:http://www.webdigity.com/index.php?action=tutorial;code=45