1

私は自分のウェブサイトにワードプレスを使用していますが、私のフォルダにはダウンロード用に提供する壁紙がいくつかあります。しかし、ユーザーに folder の正確なファイルの場所を知らせたくありません。ダウンロードのサブスクリプションがあるため。

私のファイルがに保存されているとします

http://www.example.com/wp-content/example.folder/awesome.png

フォルダ名を非表示にしてexample.folder偽の名前を使用する方法は、ダウンロード中に表示されます。これには本当に大きな助けが必要です。誰かが私に良い方法を提案できますか。ワードプレスのプラグインをいくつか試しましたが、これについては役に立ちませんでした。

4

1 に答える 1

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);



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);
于 2012-10-18T20:48:09.877 に答える