Blogブログ

PHPでデータをCSV出力する方法その1

2013/01/09

csvとはカンマ区切りのデータです。

エクセルで開くと各セルに値が入り、データを保持しておくのに便利です。

今回はデータベースに入っているデータ等をcsvデータにしてブラウザからダウンロードする方法を紹介します。

<?php
	//仮のデータ
	$data[0]['fruit'] = "オレンジ";
	$data[0]['price'] = "100円";
	$data[1]['fruit'] = "グレープ";
	$data[1]['price'] = "200円";
	$data[2]['fruit'] = "桃";
	$data[2]['price'] = "300円";
	
	//配列にデータが入っている場合は1行の文字列にしてカンマ区切りのデータにしましょう
	//末尾は改行コードで。''じゃなく、""でくくりましょう。
	for ( $i = 0 ; $i < count ( $data ) ; $i ++ ) {
		$csv_data.= $data[$i]['fruit'].','.$data[$i]['price']."\n";
	}
	//出力ファイル名の作成
	$csv_file = "csv_". date ( "Ymd" ) .'.csv';

	//文字化けを防ぐ
	$csv_data = mb_convert_encoding ( $csv_data , "sjis-win" , 'utf-8' );
	
	//MIMEタイプの設定
	header("Content-Type: application/octet-stream");
	//名前を付けて保存のダイアログボックスのファイル名の初期値
	header("Content-Disposition: attachment; filename={$csv_file}");

	// データの出力
	echo($csv_data);
	exit();
?>

これをアップしてアクセスするといきなりダイアログが出ますのでご注意を!

他社より断然お得で使いやすい
”アクトのWEB制作”
ACTホームページ相談窓口 / 
システム開発相談窓口