fopen下载我打开的文件吗?

时间:2016-06-16 13:31:04

标签: php html http http-headers

我使用fopen让用户在下面的代码中下载音频,因为代码属性并不总是适用于所有情况和浏览器。

这是暂时将文件下载到我的服务器还是让用户从外部源下载

<?php
$file=fopen('link','r');
header("Content-Type:audio/mp4");
header("Content-Disposition: attachment; filename='example.m4a' ");
fpassthru($file);
?>

1 个答案:

答案 0 :(得分:1)

您的服务器上的PHP程序将读取所有数据(从文件句柄指向的任何位置)。这可能涉及将数据从远程URL复制到您的服务器。该数据可能完全存在于RAM中。它可能会击中磁盘上的交换空间。

然后PHP程序将其输出到浏览器。

浏览器永远无法直接访问'link'