我正在创建一个下载脚本,允许用户下载可能位于本地服务器或远程服务器上的文件。在这两种情况下,我都不希望用户找出原始文件的位置。
如果我的文件在我的服务器上,这很容易:
$data = file_get_contents('/local/path');
$name = 'myphoto';
force_download($name, $data); //codeigniter
但是,对于远程文件,如果我这样做:
$data = file_get_contents('/remote/path');
$name = 'myphoto';
force_download($name, $data);
它将首先下载到我的服务器,这将延迟用户的下载。
有没有办法可以通过我的服务器以某种方式将任何文件流式传输给用户?所以它立即开始下载?可能的?