用户下载文件时隐藏文件夹路径

Par*_*eer 1 php wordpress .htaccess

我在我的网站上使用wordpress,我的文件夹中有一些壁纸供我下载.但我不希望用户知道文件夹的确切文件位置.由于订阅了下载.

假设我的文件存储在

http://www.example.com/wp-content/example.folder/awesome.png
Run Code Online (Sandbox Code Playgroud)

现在如何隐藏文件夹名称example.folder并使用任何假名称,下载时显示该剂量.真的需要一个很大的帮助.任何人都可以建议我一个好方法.我尝试了一些wordpress插件,但没有帮助.

Bab*_*aba 5

PDF文档示例

$nameOld = "/public_html/wp-content/example.folder/oldnme.pdf";
$nameNew = "newName.pdf" ;
header("Content-Transfer-Encoding: binary");
header('Content-type: application/pdf');
header("Content-disposition: attachment; filename=$nameNew"); //
readfile($nameOld);
Run Code Online (Sandbox Code Playgroud)



使用download.php?img=flower不带扩展名的图像系统编辑概念证明,并flower显示图像名称

$directory = "/public_html/wp-content/example.folder/";
$types = array("jpg","gif","png");
$ext = null;

if (! isset($_GET['img'])) {
    die("Invalid URL");
}

$nameOld = filter_var($_GET['img'], FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH | FILTER_FLAG_STRIP_LOW);
$nameNew = uniqid(basename($nameOld));

// File the file
foreach ( $types as $type ) {
    if (is_file($nameOld . "." . $type)) {
        $ext = $type;
        break;
    }
}

if ($ext == null) {
    die("Sorry Image Not Found");
}
$nameOld .= "." . $ext;
$type = image_type_to_mime_type(exif_imagetype($nameOld));

header("Content-Transfer-Encoding: binary");
header('Content-type: ' . $type);
header("Content-disposition: attachment; filename=$nameNew"); //
readfile($nameOld);
Run Code Online (Sandbox Code Playgroud)

  • @ParamVeer你得到了答案 - 现在你应该:1)接受它并且2)做"肮脏的工作" - 不要接受这里的人"为你工作"! (2认同)