从文档根目录外部获取文件.PHP


getting a file from outside the document root. PHP

我目前将docx文件和pdf文件存储在文档根目录外的用户上传文件夹中。我打算通过数据库链接下载这些文件,链接到严重加扰的文件名。

以前我只使用PHP从根目录以外的文件中获取数据-是否可以从该区域检索整个文件?如果可以,如何处理?

<?php
$file_id = $_GET['id'];
$local_path = get_real_filelocation_from_id($file_id);
readfile($local_path);

get_real_filelocation_from_id()的代码留作OP的练习。

<?php
$get_file=$_GET['file_name'];
$file = '/path/to/uploads/'.$get_file;
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>

经过几个小时的搜索,我发现这个似乎有效。不幸的是,尽管符号链接根似乎是一条很好的路径,但我不确定如何真正实现它——即使是最基本的脚本,firebug也会进入怪癖模式。