允许通过 PHP 访问受保护的文件

Allow access to protected file through PHP

我在一个文件夹中有一组 tar.gz 文件,该文件夹防止通过 .htaccess 进行 http 访问。我希望允许通过 http 直接卷曲下载这些文件。我通过将 header 信息设置为类似以下内容来对图像之类的东西执行此操作:

$file='/some/file/protected/by/htaccess.png';
header("Content-type: image/png");
readfile($file);

我的问题: 有没有办法以类似于我处理图像的方式提供对这些 tar.gz 文件的直接访问?

我想这样做的原因是我想控制哪些用户可以通过我们站点的登录系统访问这些文件。

编辑:正如 Machavity 所指出的,我的代码指向一个 jpg,并且有一个 png header。

对于tar.gz

$filename = 'path/to/your/file.tar.gz';
header('Content-Type: application/x-compressed');
header("Cache-Control: no-store, no-cache");
header('Content-Disposition: attachment; filename="' . basename($filename) . '"');
header('Content-Length: ' . filesize($filename));
readfile($filename);