PHPで簡単にCSVファイルの生成
2024/01/12
簡単にデータ並べるだけのCSVファイル生成。
file_put_contensででけた。
■ソース
<?
$file_path = './csvlog/aaa.csv';
$data_array = array(
0 => array('name' => 'taro', 'score' => 80),
1 => array('name' => 'kouji', 'score' => 58),
2 => array('name' => 'takeshi', 'score' => 77),
);
$data = '"ID","名前","スコア"
';
for ($i = 0; $i < count($data_array); ++$i) {
$data .= '"' . $i . '","' . $data_array[$i]['name'] . '","' . $data_array[$i]['score'] . '"
';
}
mb_convert_variables('SJIS', 'UTF-8', $data); //文字コード変換
file_put_contents($file_path, $data, LOCK_EX); //書き込み
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transtional//EN" "http://www.w3c.org/TR/html4/loose.dtd">
<meta http-equiv="content-type" content="text/html"/>
<meta cherset = "UTF-8">
<html lang="ja">
<head>
<title>CSV</title>
</head>
<body>
<h1>CSV</h1>
<? if (is_file($file_path)) : ?><!--ファイルがあった場合のみリンクを出す-->
<a href="<?=$file_path;?>">CSVリンク</a>
<? endif; ?>
</body>
</html>
■その他
エクセルはshift-jisがデフォらしい。
なのでUTF-8から変換。mb_convert_variablesだと配列も
一気に変換できる。
せっかくなので次はちゃんとCSV関連の関数を使ってみたいところ。
関連記事
-
PHPで配列データをCSVとしてダウンロードさせる方法
PHPでログ的なデータをCSV化したかった。ただ、複数の人間が使うのでCSVファ ...
-
PHPでCSVファイル出力用の関数
ここのところログ系をCSVファイル出力にするケースが多かった為、使いまわせるよう ...
-
PHPで改行を含むデータをCSV化する際に表示崩れを防ぐ方法
PHPで改行を含むデータをCSV化した場合、そのCSVファイルをエクセル等で開く ...
-
フォームからCSVファイルをアップロードしてPHPの配列に格納する方法
formからcsvファイルをアップロードさせて、PHPで色々処理したかった。とり ...
-
CSVファイルを使って郵便番号から住所を抽出する
■ソース <? error_reporting(E_ALL & ~ ...