在php中隐藏源地址的同时下载大型文件
我需要对用户隐藏外部文件链接。 用户单击“下载”按钮,该按钮指向我的功能,在该功能中,文件被下载并返回到客户端,问题是我不知道下载文件的扩展名是什么 因此,我通过“get_file_contents”下载该文件,并从文件头读取原始文件名,但它不适用于大型文件 我最初使用readfile,但也有一些文件被压缩的情况 现行代码在php中隐藏源地址的同时下载大型文件,php,downloadfile,Php,Downloadfile,我需要对用户隐藏外部文件链接。 用户单击“下载”按钮,该按钮指向我的功能,在该功能中,文件被下载并返回到客户端,问题是我不知道下载文件的扩展名是什么 因此,我通过“get_file_contents”下载该文件,并从文件头读取原始文件名,但它不适用于大型文件 我最初使用readfile,但也有一些文件被压缩的情况 现行代码 $sUrl = ... external url; $sFileName = ''; $context = stream_context_create
$sUrl = ... external url;
$sFileName = '';
$context = stream_context_create();
$mResult = file_get_contents($sUrl, false, $context);
foreach($http_response_header as $header) {
if (strpos($header, 'Location:') !== false) {
$sFileName = basename(trim(str_replace('Location:', '', $header)));
break;
}
}
header("Content-Description: File Transfer");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename={$sFileName}");
echo $mResult;
exit();
如何隐藏下载文件的外部链接,同时将非常大的文件返回给客户端