【PHP】ファイルのダウンロード

ファイルのダウンロード

例1:データベースから取得したデータをCSVファイルとしてダウンロードする

サンプル

<?php
$fileName = "output.csv";

// HTTPヘッダ作成
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=" . $csvFileName);

// ヘッダの作成
print "id,日付,時間,備考\n";

$connectionId = mysql_connect("XXXXX:1000", "dataBaseName", "passowrd") or die(mysql_error());   
mysql_select_db('dataBaseName') or die(mysql_error());
$sql = "SELECT * FROM workTable ORDER BY id, date";
$result = mysql_query($sql) or die(mysql_error());

while ($row = mysql_fetch_assoc($result))
{
	// データ取得および整形
	$id = $row['id'];
	$date = $row['date'];
	$time = date("H:i", strtotime($row['time']));
	$remarks = $row['remarks'];
	
	// CSVデータ作成
	$csvContents =
		$id . "," .
		$date . "," .
		$time . "," .
		$remarks . "\n";
	
	// CSVデータ出力
	print $csvContents;
}
echo "CSV出力成功";
?>

注意

 * ファイルのダウンロード後、「header("Location:」でページ移動はできない。詳細は以下のURL参照。
http://blogs.yahoo.co.jp/dk521123/25183205.html

参考資料

http://php.eweb-design.com/0303_dl.php
http://d.hatena.ne.jp/raharu0425/20090802