PHPのfputcsv()関数を使用しCSV形式でファイルに書き込み

PHPのfputcsv()関数を使用しCSV形式で、開いているファイルに書き込みしてみます。

fputcsv()関数は、指定した行をCSV形式で、開いているファイルに書き込みすることができます。

■基本的な構文

fputcsv(file, fields, separator, enclosure, escape)

fileは、書き込みを行う開いているファイルを指定します。

fieldsは、どの配列からデータを取得するかを指定します。

separatorは、フィールドの区切りを指定する文字。デフォルトはカンマ( , )となります。オプションです。

enclosureは、フィールドの囲み文字を指定する文字。デフォルトはダブルクォーテーション(”)となります。オプションです。

escapeは、エスケープキャラクターを指定します。デフォルトは「\\」です。空の文字列(””)を指定すると、エスケープ機能が無効になります。オプションです。

■環境

・Windows10

・XAMPP 8.0.6

・PHP Version 8.0.6

■PHPのfputcsv()関数を使用しCSV形式でファイルに書き込みする

では、早速PHPのfputcsv()関数を使用しCSV形式でファイルに書き込みしてみます。

■コード

<html lang="ja"> 
<head> 
<title>fputcsv()関数を使用しCSV形式でファイルに書き込み</title>
</head>
<body>
<?php
$list = array (
    array("名前","年齢","出身"),
    array("田中","25","大阪"),
    array("鈴木","31","京都")    
);

$file = fopen("test.csv","w");

foreach($list as $line) {
    fputcsv($file,$line);
}   

fclose($file);
?>
</body>
</html>

今回は、listという変数を宣言し、その中でarray()関数を使用し、配列を作成し格納します。

次にfileという変数を宣言し、fopen()関数を使用し、第1の引数,パラメーターでファイルを指定し、第2の引数で、”w”(書き込み)モードを指定し格納します。

mkdir()関数の括弧内の第1の引数,パラメータには、新しいディレクトリの名前を指定し、渡します。これで新しいディレクトリを作成することができます。

その後、foreach文を使用し、list変数をline変数に代入します。代入後、fputcsv()関数を使用し、CSV形式で、line変数内のデータを繰り返し、file変数に書き込みします。

書き込み後、fclose関数で、開いた状態のファイルを閉じます。

なお、今回データをCSV形式で書き込みする際のファイルは、空のcsv形式のファイル「test.csv」を用意しました。

■実行

では、このスクリプトを「write_csvformat.php」という名前で保存し、実行させてみます。

実行してみると、echo文を使用し文字列の出力などは行っていませんので、何も表示されません。

何も表示されませんが、今回用意したCSV形式のファイルの中身をGoogleスプレッドシートで、確認すると、指定した配列(情報)が書き込まれていることが確認できました。

コメント

タイトルとURLをコピーしました