当前位置: 首页 > 面试题库 >

如何隐藏实际的下载文件夹位置

杜祺
2023-03-14
问题内容

我想隐藏下载文件夹的位置,以便用户下载文件时看不到该位置。我认为可以使用.htaccess文件完成此操作,但是我该怎么做?另外,如何用PHP完成呢?


问题答案:

这是我在PHP中执行的操作:

<?php
$fakeFileName= "fakeFileName.zip";
$realFileName = "realFileName.zip";

$file = "downloadFolder/".$realFileName;
$fp = fopen($file, 'rb');

header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=$fakeFileName");
header("Content-Length: " . filesize($file));
fpassthru($fp);
?>

此外,如果您不希望任何人访问文件位置,请将名为的文件.htaccess放入仅包含内容的下载文件夹中:

deny from all

我稍微修改了代码。首先,当我说假文件名和真实文件名时,假文件名就是下载程序将下载文件的名称,其中真实文件名是服务器上下载文件夹中实际文件的名称。

另外,我检查以确保用户已登录并能够下载文件。如果他选择下载文件,则在新选项卡中调用一个PHP文件(上面有下载代码),然后在文件末尾有以下一行:

exit;

因此,当他单击下载链接时,空白页会迅速在新选项卡中弹出,然后迅速退出并开始下载。

编辑: 下载链接看起来像这样:

<a href="simpleDown.php?id=<?php echo $_GET['id']; ?>" target="_blank">Download!</a>

哪里idid下载的数据库,并从上面我找到了进入的下载脚本id,然后获取其真正的文件名和假文件名。您可以在没有数据库的情况下执行此操作。



 类似资料:
  • 问题内容: 我想使用Java应用程序创建一个隐藏文件夹。该程序应跨平台运行。那么如何编写一个可以创建隐藏文件夹的程序。 我尝试使用 它创建一个未隐藏的目录。 问题答案: 隐藏文件/文件夹的概念是特定于操作系统的,无法通过Java API访问。 在Linux中,许多程序默认情况下会隐藏名称以点开头的文件和文件夹-这样做很容易。 在Windows中,“隐藏”是存储在文件系统中的特殊标志。没有用于更改它

  • 问题内容: 我需要列出文件夹中包含目录路径的所有文件。我尝试使用,这显然是完美的解决方案。 但是,它还会列出隐藏的文件夹和文件。我希望我的应用程序不列出任何隐藏的文件夹或文件。有没有可以用来使其不产生任何隐藏文件的标志? 跨平台对我而言并不是很重要,如果只适用于linux(。*模式)就可以了 问题答案: 不,没有选择会跳过这些。您需要自己这样做(这很容易): 注意切片分配;递归遍历中列出的子目录。

  • 要验证SSL证书,我需要将包含一些文件的隐藏文件夹(“/. well-known”)上传到我的应用程序。 我正在使用eclipse部署java应用程序,但这些文件不会在appEngine上的应用程序中接收。我想它们被过滤掉了。 我试图将隐藏文件夹作为静态文件添加到appengine web。xml,但它没有帮助。 我能上传这些文件夹和文件吗?

  • 本文向大家介绍如何使用Python删除隐藏的文件和文件夹?,包括了如何使用Python删除隐藏的文件和文件夹?的使用技巧和注意事项,需要的朋友参考一下 在Unix OS(OSX,Linux等)上,隐藏文件以“。”开头。因此我们可以使用简单的startwith check过滤掉它们。在Windows上,我们需要检查文件属性,然后确定文件/文件夹是否隐藏。 示例 例如,您可以使用以下代码删除所有隐藏文

  • 我想隐藏在外部存储器上创建的文件夹,获取隐藏文件夹的路径,以共享在隐藏文件夹中找到的数据。我怎样才能做到这一点。从现在起我所做的一切。 分享 共有putExtra(Intent.EXTRA_流,Uri.parse(“file:///sdcard/mdata/“路径”);

  • 我正在尝试Visual Studio代码。关于VisualStudio代码的一切在我看来都很酷,除了一件事:。git文件夹/文件隐藏在Visual Studio代码中。 我经常通过修改配置文件来更改Git设置。看不到文件真的很烦人。 有没有办法显示文件?