Php 直接向客户端传递数据

Php 直接向客户端传递数据,php,zend-framework,Php,Zend Framework,我想知道是否有一种方法可以直接将数据(更具体地说是图像)传递给客户机,而不用使用PHP Zend框架将图像数据存储在服务器磁盘和/或内存中 我目前正在这样做: $data = "raw image data"; $type = "image/jpeg"; $response = $this->getResponse(); $response->setHeader('Content-Type', $type, true); $response->setHeader('Cont

我想知道是否有一种方法可以直接将数据(更具体地说是图像)传递给客户机,而不用使用PHP Zend框架将图像数据存储在服务器磁盘和/或内存中

我目前正在这样做:

$data = "raw image data";
$type = "image/jpeg";

$response = $this->getResponse();

$response->setHeader('Content-Type', $type, true);
$response->setHeader('Content-Length', strlen($data), true);
$response->setHeader('Content-Transfer-Encoding', 'binary', true);
$response->setHeader('Cache-Control', 'max-age=3600, must-revalidate', true);
$response->setBody($data);

$response->sendResponse();
exit;

您所缺少的是
$response->sendResponse()你很好。

哦,是的,我的代码中确实有这个。很抱歉我的问题仍然存在。当然,除非我当前直接将数据传递到客户端,而不涉及服务器上的文件系统或缓存。在我看来,您已经在做您想做的事情了。我在本地使用了您的代码,并直接向我的浏览器提供了一个JPEG图像(您可以将其放入一个标签中),这听起来像是您想要的。而且您没有写入磁盘。我是否遗漏了什么?我几乎100%确定我的代码会将图像数据下载到服务器上的内存中,然后将其传递给客户端。我试图避免的是对服务器内存的影响。我知道我说的是文件系统和缓存,我的意思是内存(我会解决我的问题)。我希望这件事能澄清。哦,这确实改变了一切。如果不是服务器,那么图像数据从哪里来?您有一个远程图像URL,并且您试图在客户端不知道远程图像URL的情况下将其传递给客户端?它来自另一个云服务api。目前,此api没有提供指向映像的公共链接的功能。它只能为原始数据图像提供服务。