Hope is a Dream. Dream is a Hope.

非公開ブログは再開しました。

いきおいでPHPを勉強する。その15

CSVファイルを使用する

CSVファイルのデータを表示する

<html>
<head>
<title>CSVファイルのデータを表示する</title>
</head>
<body>
<?php
// ファイル名
$fname = "test.csv";

// ファイルを開く
$file = fopen($fname, "r");

// 全データを出力する
while ($array = fgetcsv($file, 1000, ",")) {
    echo "<hr>";
    for ($i = 0; $i < count($array); $i++) {
        echo $array[$i]."<br>";
    }
}

// ファイルを閉じる
fclose($file);
?>
</body>
</html>

項目が決まっているCSVファイルのデータを表示する

<html>
<head>
<title>項目が決まっているCSVファイルのデータを表示する</title>
</head>
<body>
<?php
// ファイル名
$fname = "test.csv";

// ファイルを開く
$file = fopen($fname, "r");

// 全データを出力する
while (list($id, $name, $point) = fgetcsv($file, 1000, ",")) {
    echo "<hr>";
    echo "<br>ID:".$id;
    echo "<br>名前:".$name;
    echo "<br>点数:".$point;
}

// ファイルを閉じる
fclose($file);
?>
</body>
</html>

CSVファイルにデータを書き込む

<html>
<head>
<title>CSVファイルにデータを書き込む</title>
</head>
<body>
<?php
// CSVファイル名
$file_name = "test.csv";

// CSVファイルで保存するデータ
$id = 999;
$name = "岡田";
$point = 90;

// 3つの変数から配列を作成する
$array = compact("id", "name", "point");

// 配列のデータをカンマで区切って結合する
$string = implode(",", $array);

// 結合された文字列を表示する
echo "<p>CSVファイルにセットされるデータ:".$string;

// ファイルを追記モードで開く
$file = fopen($file_name, "a") or die("OPENエラー $file_name");

// ファイルをロックする
flock($file, LOCK_EX);

// データを書き込む
fputs($file, $string."\n");

// ロックを解除する
flock($file, LOCK_UN);

// ファイルを閉じる
fclose($file);
?>
</body>
</html>