2012-03-28 15 views
-2

私はcURLやZipを使わずに複数のファイルをダウンロードできるかどうか疑問に思っていました。私はそれがアクセスされた場合、同時に3つのファイルを返すファイルを作成したいと思います。出来ますか?PHP:cURLやZipを使わずに複数のファイルをダウンロードするには?

+1

このようなファイルへのリンクをクリックすると、ブラウザから何が期待できますか? – Gavriel

+0

いいえ。ファイルをダウンロードするために使用されるいくつかのポップアップを起動させることができますが、ポップアップキラーはそれらをブロックします。 –

答えて

-1

救助のための昔ながらの(つまり、流行していない)フレーム! BASE64は、それらをコードしてJSON配列に戻ってそれらを渡すために複数のファイルを配布するための

<html> 

    <frameset rows="33%,33%,33%"> 

    <frame src="file1.php" /> 
    <frame src="file2.php" /> 
    <frame src="file3.php" /> 

    </frameset> 

</html> 
+0

これは一般的に安全ではない機能です。フレームはほとんど使用されません。 – FilmJ

+0

どのように安全でないのでしょうか? – dldnh

+0

フレームはオリジン/ドメインに限定されず、私はJSを使用して任意のフレームのsrcを書き込むことができます。この場合、必要に応じてユーザーにマルウェアをダウンロードさせることができます。 ajaxを使用し、フレーム(またはiframe)を使用しない場合、コンテンツは同じドメインからしか発信されません。 – FilmJ

0

一つのアプローチは、これは効率的にデータを配信し、それが到着したら、それをどうするかを決定するために使用することができます。

もちろん、クライアントが厳密にWebユーザーで、APIコンシューマではない場合は、これは理想的でない可能性があります。これは、base64を書き込み可能なファイルに変換する必要があるためです。セキュリティ上の理由から、Javascriptではファイルシステムに直接アクセスすることはできません。

また、Content-Disposition添付ファイルを指定したファイルを返すURIに対してajaxリクエストを行い、次にユーザーの入力(次のファイルのリクエスト)とともに、すべてのファイルダウンロードされます。

あなたが達成しようとしていることに応じて、リンクのリストを指定するだけでもよいでしょう!時には最も簡単な解決法が最適です。

関連する問題