アプリ版:「スタンプのみでお礼する」機能のリリースについて

CSV出力をしようとするとなぜか出力ボタンを設置したページのHTMLタグが入ってしまいます。

ソース自体はこんな感じ(どこかからコピペしてきました。すみません。)

$data = array(
array('name' => '佐藤', 'address' => '東京都', 'old' => '29歳'),
array('name' => '田中', 'address' => '千葉県', 'old' => '31歳'),
array('name' => '鈴木', 'address' => '北海道', 'old' => '54歳')
);

$csv = '';
$filename = 'provider.csv';

foreach ($data as $row) {
//カンマ対応
$string = implode(',', $row);
//改行対応
$string .= "\n";

$csv .= $string;
}
// MIMEタイプの設定
header("Content-Type: application/octet-stream");

// ファイル名の表示
header("Content-Disposition: attachment; filename=$filename");

mb_convert_encoding($csv,"SJIS", "UTF-8");
// データの出力
echo($csv);

途中でCSVをデバッグして出してやると
佐藤,東京都,29歳 田中,千葉県,31歳 鈴木,北海道,54歳
とちゃんと出るのですが、出力されたCSVは

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title><meta name="description" content="" />
<meta name="keywords" content="" />
..........と延々とHTMLが入り、
途中に

佐藤 東京都 29歳
田中 千葉県 31歳
鈴木 北海道 54歳

と表示されるものの、CSVのみを出力することができません。

どなたか分かる方、ぜひ助けてください。
よろしくお願いします。

A 回答 (1件)

CSV出力のトリガーとそのアクションによるのでは?


普通にechoで出力してexitすればそれ以外がでる要素はありませんが
ご利用されているサイトの仕様で全ての出力に強制的に任意のhtmlが
挿入されるなどあればそういうものかと・・・
    • good
    • 0
この回答へのお礼

ホントだ、exitが抜けてました。
トホホホ....

ありがとうございました。

お礼日時:2015/08/18 18:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!