1

X-Sendfileを使用して、readfileの代わりにファイルを送信しています。これを処理するスクリプトはdownload.phpという名前で、次のものが含まれています。

$video_file = '/path/to/file/file.mp4';
header('X-Sendfile: '.$video_file);
header('Content-Type: video/mp4');
header('Content-Disposition: attachment; file=\"file.mp4\"');
exit();

しかし、問題は、ダウンロードされたファイルの名前が常に「download.php」(155Mb)であり、file.mp4という名前でダウンロードしたいということです。私は次のようないくつかのことを試しました:

header('Content-Disposition: attachment; file="file.mp4"');
header('Content-Disposition: attachment; file=file.mp4');

そして他のすべての可能性、しかしそれでもdownload.phpとしてファイルをダウンロードします。

私のhtaccessファイルには次のものが含まれています:XSendFile On

4

1 に答える 1

1

間違ったヘッダーを送信しています。filenameプロパティはfilename、ではなく呼び出されnameます。

header('Content-Disposition: attachment; filename="file.mp4"');

ヘッダーの詳細な説明については、RFC2616を参照してください。

于 2012-04-23T08:02:18.810 に答える