例如:有一个提供文件下载的网站。网站和可下载文件位于不同的服务器上。当用户尝试下载文件时,文件服务器会改为发送文件。文件服务器在到达用户之前不应该首先将文件发送到网站的服务器,因为这会使用两倍的带宽。Apache/PHP可以从另一台服务器提供文件吗?
可以使用PHP直接从文件服务器提供文件吗?
注意:单个服务器设置可以简单地使用PHP手册中的以下代码。我需要将这些标题从文件服务器直接发送给用户。
<?php
$file = 'monkey.gif';
if (file_exists($file))
{
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
}
?>
为什么不直接将用户重定向到文件服务器?例如:他点击了网站1上的一个按钮,将他重定向到:http://website2/files/foo.bar? –
也许:http://stackoverflow.com/questions/6086231/transfer-from-server-server-client-without-download-to-server/6086311#6086311也http:// stackoverflow。COM /问题/ 10991443 /卷曲得到远程文件和力下载-AT-同一时间/ 10993094#10993094 –