所以我有一堆文件,一些可以高达30-40mb,我想使用PHP来处理文件的安全性,所以我可以控制谁有权访问它们
这意味着我有一个像这个粗略的例子的脚本
$has_permission = check_database_for_permission($user, filename);
if ($has_permission) {
header('Content-Type: image/jpeg');
readfile ($filename);
exit;
} else {
// return 401 error
}
Run Code Online (Sandbox Code Playgroud)
我讨厌每个请求将整个文件加载到内存中,因为它会很快咀嚼我的服务器上的所有内存并同时提出几个请求
所以有几个问题
服务器:apache/php5
谢谢
readfile是这样做的正确方法.无论如何不要尝试自己读取文件并将其打印到输出 - 这将消耗过多的内存.使用该readfile功能,文件的内容直接缓冲到输出,占用了大量的暂时性内存.
| 归档时间: |
|
| 查看次数: |
309 次 |
| 最近记录: |