スレッド表示 | フラット表示〕 全トピック 923 件中 772 番目 次≫ ≪前

ファイルダウンロード後のリンク

created: 2003-10-30 09:26 | modified: 2003-10-31 09:12 | reply: 6

[857] IE×、Opera○

user: hamaji | created: 2003-10-31 00:09
遅くなりました。結果から言うとIEは×でした。
Operaではダウンロードを行うと別ウィンドウが開くようになっているのですが、それを設定で
同一ウィンドウで行うようにして、やってみたところ問題ナシでした。

先述の
#Operaで見るとリンクは正しく機能してましたが、ダウンロードが正しく行われませんでした。
というのは自分が書いたソースが間違ってました。(笑)
[サンプル]
<?php

$filename = "test.csv";

// テストデータの作成とりあえず5行とする
$array = array();
$data = array(1, 2, 3, 4, 5);
for ($i = 0; $i < 5; $i++) {
array_push($array, $data);
}

// CSVファイルの作成
$fp = fopen("./$filename", "w");
for ($i = 0; $i < count($array); $i ++) {
$putdata = implode($array[$i], ",");
$putdata .= "\n";
fputs($fp,$putdata);
}
fclose($fp);

// ファイルサイズの取得
$size = filesize("./$filename");

// ヘッダーの送信
header("Cache-Control: public");
header("Content-Type: text/csv");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=" . $filename);
header("Content-Length: " . $size);

// これがなかったのでOperaで正しくダウンロードできなかった
readfile("./$filename");
exit;
?>
という感じです。

NetScapeでは試してませんがおそらく大丈夫でしょう。
これはIEの仕様なのかバグなのかわかりませんが、IEで実現させようとするなら、
なにかもう一工夫いるんではないでしょうか?
まったく、IEという奴は。。。

なかなか興味がある現象なのでまた時間があればトライしてみたいと思います。
Parent: 850  reply: 860 返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 923 件中 772 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑