我正在使用此代码强制使用标题下载,文件名已正确重命名但文件为空,实际文件未被下载。
$file = url . '/uploads/audio/' . $trackFile;
$tmp = explode(".", $file);
$newTrackName = $trackTitle . '.' . end($tmp);
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . $newTrackName);
header('Content-Transfer-Encoding: binary');
header('Connection: Keep-Alive');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
答案 0 :(得分:1)
您错过了实际发送文件,例如
echo readfile($file);
exit;
或
header("Location: $file");
答案 1 :(得分:1)
您需要添加..
readfile($file);
exit;
答案 2 :(得分:0)
你是对的,我赞成了两个答案,但我也发现新版本的cpanel默认情况下是fopen,我必须启用fopen。