下载 Web 根目录上方的文件并列出它们


Download files above web root and list them

我正在尝试制作一个php脚本来列出我的网络目录上方文件夹的文件...我关注我在这里找到的一件小事,它谈到了

指向/var/uploads 的符号链接

a Apache Alias 指令 Alias/uploads/var/uploads

我做了这两个。

$myDirectory = opendir("/var/stuff/stuff/");

当我进入 winscp 并单击该文件夹时,那里的那个目录链接到它,它将我定向到它......当我运行脚本列出/var/stuff/stuff/中的所有文件时,它会列出/home/stuff/stuff 中的内容。

问题是当我单击它生成的链接时,我在服务器上找不到在此服务器上找不到请求的 URL/stuff。

有人可以帮我解决这个问题吗?

由于文件不在根目录下,因此您将无法直接下载它们,但是 您可以解决此问题的是创建下载器网关。

我将解释:

  1. 在应用程序中的某个地方创建一个PHP脚本,我们称之为下载器.php
  2. 下载器脚本将获得一个参数,例如:文件名
  3. 现在我们可以像这样调用脚本: http://YOUR-URL/downloder.php?filename=file-to-download
  4. 在您的下载器.php文件中,您可以获取文件名,从文件系统中读取它,然后通过放置其内容并配置正确的标头来强制下载它

我不确定您是否仍然需要它,但是,如果您需要更多帮助,我可以为您提供一些代码示例的更多信息


理想情况下,您可以使用.htaccess隐藏下载器网关脚本