2012-04-23 27 views
5

PHPヘッダを使用して外部ソースからファイルを強制ダウンロードしたいと考えています。ただし、ファイルタイプはANYTHINGです。 すべてのファイルタイプを強制的にダウンロードするにはどうすればいいですかPHPで未知のファイルタイプを強制的にダウンロードする

私の質問と私が何を記述しようとしているのか理解できれば幸いです。

+3

は 'のReadFile()'のためのPHPのドキュメントで – Jon

+0

見て...私には悪いアイデアだと思い、具体的にはヘッダーをオクテットストリームに設定します。 –

+0

が@Jonに同意すると、UXの判断が悪いです。あなたは100%あなたのユーザーがファイルをダウンロードしたいと思っていますか?デフォルトの名前で、デフォルトのダウンロードディレクトリに保存することを100%確信していますか? IFFでは、これに「はい」と答えることができます。 – Jeff

答えて

6

HTTPヘッダーを意味し、RFC 2616、http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html "Content Disposition"を探しています。

すべてのファイルと種類のダウンロードを強制するには、以下のヘッダを送信:すべてのダウンロードを強制

header('Content-Disposition: attachment; filename="name.ext"'); 
header('Content-Type: application/octet-stream'); // or application/force-download 

echo $the_file_content; 
exit; 
+0

MIMEタイプの場合は、 'application/octet-stream'を意味します。 – freeone3000

+3

ああ、それは具体的です。ファイルがバイトで構成されていると宣言します。ファイルがバイトで構成されていない場合は、別のものを見つける必要があります。 – freeone3000

+0

過半数のみ? – Johnnyoh

関連する問題