[PHP-users 21769]Re: session_startをコールしては駄目なのでしょうか
Kuma
satoru_kumagai @ mjs.co.jp
2004年 5月 21日 (金) 14:54:10 JST
Satoさん,お手数おかけしました.
原因が分かりました.
今までのソース
<?php
header("Content-Type: application/octet-stream-dummy");
header("Content-Disposition: inline; filename=lan_karte.csv");
session_start();
$fname=$_SESSION['fname'];
$fd = fopen($fname, "rb");
fpassthru($fd);
unlink($fname);
?>
これを,session_start();を最上位に持ってきて,以下に修正したら,うまく動作し
ました.
<?php
session_start();
header("Content-Type: application/octet-stream-dummy");
header("Content-Disposition: inline; filename=lan_karte.csv");
$fname=$_SESSION['fname'];
$fd = fopen($fname, "rb");
fpassthru($fd);
unlink($fname);
?>
マニュアルに記載されているheader関数の部分で,
「覚えておいて頂きたいのは、header()関数は、通常のHTMLタグまたはPHPからの出
力にかかわらず、すべての実際の出力の前にコールする必要があることです.」が,
常に頭にあって,今回のようなことになってしまいました.
今まで出来ていたのに,何故・・・は,気になりますが,勉強不足のようです.
改めて,セッションやヘッダについて勉強してみます.
ありがとうございました.
PHP-users メーリングリストの案内