ダウンロードボタンを押すと
パスワードがかかっているZIPファイルをダウンロードして
中にはTSVファイルがはいているようにしたいです。
tsvファイルにはDBからの情報を書きだしたいです。
流れとしては、
どうすればよいですか
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
$zipped_file = パス . "/" . ファイル名 .".zip";//書き出し先のzipファイル
$command = "cd " . "パス" . "; zip -P " . "パスワード" . " " . $zipped_file ." " . "元ファイル名" ;
exec($command);
これで、パスで指定したディレクトリにパスワード付きのzipができます。
あとは、readfile関数でそのファイルを指定すれば、ブラウザに書き出します。
その前に適切なヘッダを書き出す必要があります。
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename=" . "ファイル名");//ダウンロードした時のファイル名
//クライアントがwinだったら、SJIS, MacならUTF8でファイル名出しわけが必要
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . strlen(ファイルへのフルパス));//ファイルサイズを取得
これぐらい書き出せば大概のブラウザでダウンロードできます。
投稿2015/07/24 16:17
編集2015/07/24 16:21総合スコア162
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。