検索

キーワード


目次

【PHP】ファイル操作について(CSVファイルの読込・出力)

  • 公開日:2020-10-16 18:03:43
  • 最終更新日:2021-02-05 17:56:54

Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!

フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。

ファイル操作(CSV)

前回はテキストファイルなどの読み書きするためのファイル操作の関数を紹介しました。

今回は主にカンマで区切られたファイルであるCSVファイルの操作について解説していきます。


CSVファイルとは

まずは簡単にCSVファイルについて説明します。

CSVとはカンマ区切り(,)で作られたファイルのことを指します。CSVファイルは互換性が高く、Excelやメモ帳、メールソフト、データベースソフトなどほとんどのソフトに取り込んで閲覧、編集することが可能です。


CSVファイルの読み込みと出力

それでは、CSVファイルに記述されている内容を出力してみましょう。

まずは読み込み対象となるsample.csvを作成します。

"yamada","CEO","Osaka"
"tanaka","CTO","Chiba"
"yamakawa","developer","Tokyo"

次に、fopen関数とfgetcsv関数を使って、CSVファイルの中身を出力します。

$row = 1;

// ファイルが存在しているかチェックする
if (($handle = fopen("sample.csv", "r")) !== FALSE) {
    // 1行ずつfgetcsv()関数を使って読み込む
    while (($data = fgetcsv($handle))) {
        echo "${row}行目\n";
        $row++;
        foreach ($data as $value) {
            echo "「${value}」\n";
        }
    }
    fclose($handle);
}

出力結果は以下のようになります。

1行目
「yamada」
「CEO」
「Kyoto」
2行目
「tanaka」
「CTO」
「Chiba」
3行目
「yamakawa」
「developer」
「Tokyo」


CSVファイルへの書き込み

fputcsv関数は、行をCSVにフォーマットして、ファイルポインタに書き込みます。

// 配列の作成
$array = [
  "Windows",
  "Mac",
  "Linux"
];
 
// 書き込み対象のCSVファイルを開く
$file = fopen("sample.csv", "w");
 
// 配列をCSVファイルに書き込む
fputcsv($file, $array);
 
// 書き込み対象のファイルをクローズ
fclose($file);

上記のプログラムを実行すると、sample.csvの中身は以下のように書き込まれます。

Windows,Mac,Linux


まとめ

今回はファイル操作の中でも、CSVファイルの操作に絞って解説しました。

入力フォームの内容をCSVファイルに書き込んで、Excelで情報の閲覧・管理といった業務はよく行われるので、CSVへのデータ書き込みや読み込みの方法はしっかり覚えておきましょう!


【著者】

當山

主にPHPでのフレームワーク開発やWebアプリの開発に携わってきました。 得意分野はHTML5とCSSによるフロントエンド開発。

編集した記事一覧

正社員/フリーランスの方でこのようなお悩みありませんか?

  • 自分に合う案件を定期的に紹介してもらいたい
  • 週2、リモートワークなど自由な働き方をしてみたい
  • 面倒な案件探し・契約周りは任せて仕事に集中したい

そのような方はぜひ、Workteriaサイトをご利用ください!

  • 定期的にご本人に合う高額案件を紹介

  • リモートワークなど自由な働き方ができる案件多数

  • 専属エージェントが契約や請求をトータルサポート

よく読まれている記事