PHP RaspberryPi

Raspberry Pi上で、PHP を使って、CSVファイルを読み込む方法

投稿日:

PHPで、CSVファイルを読み込む方法を紹介します。

スポンサードサーチ

■PHPファイルを実行する方法

これから紹介するサンプルコードを動かすには、以下の手順を参照してください。

①PHPファイルを作成する

エディタを開いて、phpファイルを作成する。

$ sudo nano /var/www/html/sample.php


sample.phpは、適当な名前を付けてください。

nanoエディタが開いているので、ソースコードをコピーして、貼り付ける。

その後、以下の手順で保存します。

CTRL + O で書き込み保存です。

CTRL + X でエディタから抜けます。

②ブラウザで、自作PHPファイルを表示する

ブラウザーを開いて、以下のURLを入力します。

http://raspberrypi.local/phpinfo.php

■fgetcsv関数を使う場合

■テストデータを作る

まずは、テストデータを作成します。test.csvという名前で、以下のcsvデータを保存してください。

"あいうえお","かきくけこ","さしすせそ","たちつてと"
"1234","5678","90123","4567","0987"

■サンプルコード

<?php
 
$file = 'test.csv';
 
//CSVファイルを読み込みモードでオープン
if (($fp = fopen($file, 'r')) !== FALSE){
  $row = 0;
 
  //CSVファイルを1行ずつ読み込む
  while (($line = fgetcsv($fp)) !== FALSE) {
 
    //タイトル行の取得
    if ($row ==  0){
      echo 'タイトル:'.$line[0].'< br />';
      $row++;
      continue;
    }
    echo $line[0].'< br />';
    echo $line[1].'< br />';
    echo $line[2].'< br />';
    echo $line[3].'< br />';
    echo $line[4].'< br />';
 
    $row++;
  }
}else{
  echo $file.'の読み込みに失敗しました。';
}
 
//ファイルをクローズ
fclose($fp);
 
?>

スポンサードサーチ

■fgetcsv関数を使う場合(その2)

■テストデータを作る

test2.csvという名前で保存してください。

1, 青, 男, 100点
2, 赤, 男, 50点
3, 黄, 女, 70点
4, 緑, 女, 90点
5, 紫, 男, 27点

■サンプルコード

<?php
 
// #1 ファイルの読み込み
$f = fopen("./test2.csv", "r");
 
// #2 テーブルのHTMLを生成
echo "<table>
        <tr>
            <th>ID</th>
            <th>名前</th>
            <th>性別</th>
            <th>テストの点数</th>
        </tr>";
 
// #3 csvのデータを配列に変換し、HTMLに埋め込んでいる
while($line = fgetcsv($f)) {
    echo "<tr>";
    for ($i=0;$i<count($line);$i++) {
        echo "<td>" . $line[$i] . "</td>";
    }
    echo "</tr>";
}
echo "</table>";
 
// #4 ファイルを閉じる
fclose($f);
?>

■fgetcsv関数を使う場合その3

■テストデータ

test3.csvという名前で保存してください。

NO , 企業名 , 担当者名 , 商品名 , 値段 ,
1 , カンパニーA , 田中 , ボールペン , 2000円 ,
2 , カンパニーB , 加藤 , サインペン , 300円 ,
3 , カンパニーC , 佐藤 , ノート , 1000円 ,
4 , カンパニーD , 岸田 , 定規 , 900円 ,

■サンプルコード

<?php
 
$list = fopen('test3.csv','r');
 
$h = 0;
 
while ($array = fgetcsv($list, 1000,",")) {
 
    for ($i = 0; $i < count($array); $i++){
        $newarray[$h][$i] = $array[$i];
    }
    $h++;
}
 
echo $newarray[1][2];
echo $newarray[3][4];
 
?>

スポンサードサーチ

■参考

http://lmaker.blog17.fc2.com/blog-entry-62.html

-PHP, RaspberryPi
-,

Copyright© ラズパイの実 , 2020 All Rights Reserved Powered by STINGER.