[PHP-users 18599]csvダウンロードが出来ません
Takao Tominaga
tominaga @ cyclops.co.jp
2003年 10月 24日 (金) 21:02:32 JST
こんばんは。富永と申します。
環境+++++++++++++++
php 4.2.2
apache 1.3.27
+++++++++++++++++++
今、SSLのかかっていないディレクトリでcsvをダウンロードする
プログラムがあります。
それにSSLをかけたいので、単純に呼び出し元のフォームを
<form action="https://www.****/download.php" method="POST">
<input type="submit" value="csvダウンロード">
</form>
にして、download.phpをSSLのかかっているディレクトリに
移しました。
で、その結果、 「ファイルのダウンロード」 というポップアップは出ますが
よく見ると、ファイルを移す前はあった 「ファイルの種類」 が空白になっていて
「保存」 ボタンを押すと 「ダウンロードできません」 と言われてしまいます。
download.phpの内容ですが、簡単に書きますと
********************************************************
DBよりデータを取得
header("Content-disposition: attachment; filename=" . $file);
header("Content-type: application/octet-stream; name=" . $file);
echo "郵便番号(上3桁),";
echo "郵便番号(下4桁),";
echo "メールアドレス ,";
echo "登録日時 ";
echo "\r\n";
while ($data = @pg_fetch_row($res)) {
while (list($key, $val) = each($data)) {
$out_val = mb_convert_encoding($val , "Shift_JIS", "EUC_JP");
echo $key ? "," : "";
echo "$out_val";
}
echo "\r\n";
}
**********************************************************
headerの部分が怪しいと思い、header部分を全てコメントアウトしてみると、
ブラウザに、DBの情報が書き出されました。
そこでこの部分を、過去ログなどを参考に
header ("Content-type: application/x-csv");
header("Content-disposition: attachment; filename=" . $file);
のように変更したり
header("Content-type: text/csv");
header("Content-disposition: attachment; filename=" . $file);
のように変更したのですが、やっぱり同じ結果でした。
どのようにしたらよいのか・・・
ご存知の方、教えていただけませんか。
また、足りない情報がありましたらご指摘下さい。
よろしくお願いします。
PHP-users メーリングリストの案内