2011-10-28 9 views
2

私の最初の投稿はstackoverflowですので、何かが間違っている場合は教えてください。ダウンロードしたファイルをZIPで選択するにはどうすればよいですか?

私は私のウェブサイトで次のコードを持っている...

<table id="fruits"> 
    <tbody> 
     <tr class="file" id="tr-file"> 
      <td class="name" id="id1"><a class="thickbox" href="FILE-LINK">NAME-OF-FILE1</a></td> 
      <td class="name" id="id2"><a class="thickbox" href="FILE-LINK">NAME-OF-FILE2</a></td> 
      <td class="name" id="id3"><a class="thickbox" href="FILE-LINK">NAME-OF-FILE3</a></td> 
      <td class="name" id="id4"><a class="thickbox" href="FILE-LINK">NAME-OF-FILE4</a></td> 
     </tr> 
    </tbody> 
</table> 

私はcPanelの中​​にファイルを圧縮またはZIPファイルをアップロードし、ページ内のリンクとしてそれを置くことができます知っている...しかし、 私は、どのファイルをダウンロードしたいのかを選んで、4つのファイルすべてをダウンロードする必要はありません。そこで私はGoogleとfound a useful postで検索しました。 (問題は私がちょうどHTMLの基本を知っている、私は彼が書いたものを理解していない) 私は<table id="fruits">から複数のファイルを選択する訪問者をしたい。

例:http://jsfiddle.net/dn3L7/

<table id="fruits"> 
     <tbody> 
      <tr class="file" id="tr-file"> 
       <input type"checkbox" id="idc1"> <td class="name" id="id1"><a class="thickbox" href="FILE-LINK">NAME-OF-FILE1</a></td> 
       <input type"checkbox" id="idc2"> <td class="name" id="id2"><a class="thickbox" href="FILE-LINK">NAME-OF-FILE2</a></td> 
       <input type"checkbox" id="idc3"> <td class="name" id="id3"><a class="thickbox" href="FILE-LINK">NAME-OF-FILE3</a></td> 
       <input type"checkbox" id="idc4"> <input type"checkbox" id=""idc1> <td class="name" id="id4"><a class="thickbox" href="FILE-LINK">NAME-OF-FILE4</a></td> 
      </tr> 
     </tbody> 
    </table> 

彼らはzipファイルをダウンロードするには、ボタンをクリックすることができますファイルの確認を終了。

+2

これはおそらく、スタックオーバーフローのための質問の大きすぎる、あなたは基本的にあなたのためにアプリを書くために人々を求めています。フォームを作成し、入力を処理し、zipファイルを作成し、それにリダイレクトする方法を学ぶ必要があります。おそらくあなたが質問をより小さなものに分割するならば。 –

+7

関連記事:http://stackoverflow.com/questions/1754352/download-multiple-files-as-zip-in-php –

答えて

3

あなたはZipArchiveを見ることができます。それを使ってジップを作成し、ユーザーにダウンロードさせることができます。

クレタスは本当に良い答えを提供しますthere。私は謙虚に

$files = array('readme.txt', 'test.html', 'image.gif'); 
$zip = new ZipArchive; 
$zip->open('file.zip', ZipArchive::CREATE); 
foreach ($files as $file) { 
    $zip->addFile($file); 
} 
$zip->close(); 

ここに彼のサンプルをコピーして、それをストリーミングする:

header('Content-Type: application/zip'); 
header('Content-disposition: attachment; filename=filename.zip'); 
header('Content-Length: ' . filesize($zipfilename)); 
readfile($zipname); 
+0

Samuel Liew "チェックボックス"を作成する方法は分かりますか?私はユーザがすべてのファイルをダウンロードするよう強制したくないので質問に説明します。 – Dominicanstan

+7

チェックボックスに 'name =" files [] "'をつけて、PHPの最初の行に '$ files = $ _GET ['files'] ' –

関連する問題