2011-06-19 19 views
0

私は.zipファイルをダウンロードしたいが、ダウンロードすると、.phpファイルをダウンロードする必要がある。私はインターネット上にあるこの単純なコードを使用するので、なぜ私は.zipファイルをダウンロードできないのかわかりません。 ZIPファイルは、デフォルトではPHPインタプリタによって解析されません - あなたは、.zipの拡張子を持つPHPファイルを提供するダウンロード用のPHPのソースコードが予想される動作を取得している場合は.zipファイルをダウンロードする(.phpファイルをダウンロードする)

header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 
header("Content-type: application/zip"); 
header('Content-length: '.filesize($fullpath)); 
header("Content-disposition: attachment; filename=".basename($fullpath)); 

readfile($fullpath); 
+0

でダウンロードしたファイルを開こうか? – Sjoerd

+0

あなたは単に.phpという名前のzipファイルをダウンロードしているだけではないのですか? – JohnP

+0

'filesize($ fullfile)'は必要ありませんか? – pimvdb

答えて

1

PHPが解析するZIP拡張子を登録する必要があります。しかし、それはかなり最適ではありません。この場合、拡張子が.phpのPHPファイルにリンクすることができます。 filenameヘッダーは、ファイルをダウンロードするユーザーに正しい名前を提供します。

拡張子.phpを使用していて、PHPファイルのソースコードが提供されている場合は、サーバー構成が壊れています。私はあなたが.php
という名前のzipファイルをダウンロードしていると思う

+0

あなたはincludeとreadfileを混同しています。 readfileは、includeのようにファイルを解釈しようとしません。それはちょうど "ファイルを読んで、それを出力バッファに書きます。" – Gerben

+0

@Gerbenはdownvotingする前にコメントを読んでいます。 * PHPのソースコード全体がダウンロードされ、最初に解釈されることはありません。おそらく彼は.phpの代わりに.zip拡張子を使用している可能性があります –

+1

申し訳ありませんが、それを誤読 @phpEnthusiast watはあなたのPHPコードのファイル名ですか? – Gerben

0

は、あなたがそれをテストしているどのブラウザwinzipまたはwinrar

関連する問題