[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 メーリングリストの案内