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