2

.dwg次のコードでファイルのダウンロードを強制しようとしています:

$filename = $_GET['f'];
$upload_path = wp_upload_dir();
$src = $upload_path['basedir'] . '/' . $filename;

header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private', false);
header("Content-disposition: attachment; filename=\"{$filename}\"");
header("Content-Type: application/octet-stream");
header('Content-Transfer-Encoding: binary');
readfile($src);
die();

ファイルへのパスは正しいのですが、 6 バイトのファイルしか返されず、開くことができません。754 バイトにする必要があります。ここで私を助けてくれる人はいますか?

//Example file
$src = "/var/www/wp/wp-content/uploads/Glasparti-modell-Silence.dwg";
4

5 に答える 5

1

Content-lengthヘッダーを追加してみてください:

$size = filesize($src);
header("Content-length: $size");
于 2013-11-11T13:51:30.360 に答える
0

代わりに .htaccess で次のようにしてこれを解決しました。

<FilesMatch "\.(dwg)$" >
    ForceType application/octet-stream
    Header add Content-Disposition "attachment"
</FilesMatch>
于 2013-11-26T11:58:02.997 に答える