2016-12-24 17 views
0

私はmod_xsendfileを使用してWebページ上のファイルをダウンロード/表示しています。それはうまく動作します、私はちょうど私がそれらを送信する前にファイル名を変更することができますどのような方法があるのだろうか?mod_xsendfileでダウンロードされたファイルのファイル名を変更します。

これを管理するためにファイルを一時的にコピー/名前を変更する必要があると思いますか?大容量のファイルでは、タイムアウトや待ち時間のために実現できない可能性があります。

理由ファイル名を共有しているユーザーが接頭辞付きで公開していることを聞いています。videofile.mp4の代わりにusername__videofile.mp4と表示されます。これは大きな問題ではなく、ダウンローダのようなものではありません。誰がファイルを共有しているかはすでに分かっていますが、ファイル名が元のファイル名だけだった場合は、ファイルの方がやや簡単になります。

私は一時コピー/名前を変更するのがこれを行う唯一の方法だと思いますか?

答えて

3

一時的なコピーや名前の変更は不要です。あなたが好きな名前に

header("X-Sendfile: {$sourceFilename}"); 
header("Content-Type: application/octet-stream"); 
header("Content-Disposition: attachment; filename=\"{$outFilename}\""); 

設定$outFilename: ちょうどこれを行います。 Apache 2.4.9で動作します。

+0

ありがとうございます! :)賞金が物事を進めるのに役立つことは分かっていて、それは当然のことです。魅力のように働いた。私はそれを授与することができるまでに11時間も待たなければなりませんが、できればあなたのところに来るでしょう。 – junkfoodjunkie

関連する問題