PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPでCSVファイルをインポートする方法を徹底解説!fgetcsv関数の使い方

PHPでCSVファイルをインポートする基本コード

PHPでは、fopen関数とfgetcsv関数を組み合わせることで、CSVファイルを簡単にインポート(読み込み)できます。以下に基本的なサンプルコードを示します。

<?php
$row = 1;
if (($handle = fopen("name_of_file.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        echo "<p> $num fields in line $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }
    fclose($handle);
}
?>

このスクリプトを実行すると、CSVファイルの内容がそのまま画面上に表示されます。

コードの解説

このコードでは、1行目($row = 1)から処理を開始しています。これは通常、CSVファイルの先頭行(0行目)にはヘッダーや列名が含まれているためです。

まずfopen関数でCSVファイルを読み取りモード(「r」)で開きます。「!== FALSE」による厳密な比較を行い、ファイルのオープンに成功した場合のみ処理を続行する設計になっている点がポイントです。

続いてfgetcsv関数を呼び出し、CSVファイル内のデータを1行ずつ読み込みます。第2引数の「1000」は1行あたりの最大読み込み文字数、第3引数の「,」は区切り文字(デリミタ)の指定です。whileループにより、ファイルの終端に達するまで全行の読み込みを繰り返します。

表示される内容

各行について、count関数で取得した列(フィールド)の数とともに、forループで各列の値が順番に出力されます。これにより、CSVファイルの構造と中身をひと目で確認できます。

最後にfclose関数でファイルを閉じてリソースを解放することも忘れずに行いましょう。

補足:よりモダンな読み込み方法

PHP 5.3以降では、SplFileObjectクラスを使ってCSVを読み込むことも可能です。オブジェクト指向で簡潔に記述できるため、大規模なCSVファイルを扱う際に便利です。また、文字化けを防ぐため、UTF-8以外のエンコーディングのCSVを扱う場合は、mb_convert_encodingなどによる文字コード変換も併せて検討するとよいでしょう。

  1. TXTファイルをCSVに変換する方法|Excelとオンラインツールの手順を解説

    テキストファイル(TXT)は、書式設定のないプレーンなテキストのみで構成された標準的な文書形式です。ほとんどのデバイスで開くことができ、拡張子は「.txt」となります。一方、CSV(カンマ区切り値)ファイルは、データがカンマやタブなどの区切り文字で整理された、より構造化された形式のファイルです。ウェブサイトからダウンロードすると、CSVではなくTXTファイルが取得できることもありますが、単に拡張子を変更しても正しく変換されません。そのため、ユーザー自身がTXTファイルをCSVファイルに変換する必要があります。 Excelを使ってTXTファイルをCSVに変換する方法 ExcelはTXTファイルと

  2. WordPressのwp-config.phpファイルを保護する方法を徹底解説

    ハッカーの視点で考えてみてください。何千ものWebサイトが利用しているプラットフォームに侵入したり、複数のサイトに対してブルートフォース攻撃を仕掛けたりするのは、彼らにとって魅力的な標的です。WP-Scannerのようなオープンソースツールが出回っている現在、初心者レベルの攻撃者でも、プロフェッショナルなWordPressサイトに侵入し、悪夢のような被害をもたらすことが可能になっています。 その中でもwp-config.phpは、サイトの運命を左右する最重要ファイルの一つです。このファイルが漏洩すれば、サイト全体が危険にさらされます。本記事では、wp-config.phpファイルを安全に保護す