【ラズパイで始めるWEBアプリ開発】PHPで、CSVファイル に書き込む方法

PHP

自分で作ったデータベースを更新するときに、データをCSVファイルとしてダウンロードして、直接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

fputcsv関数

サンプルコード1

<?php
 
   // CSVファイルに書き込むデータを用意します。
   $data = array(
      array("商品", "価格", "サイズ"),
      array("ワンピース", "20000", "S"),
      array("ズボン", "1500", "L"),
      array("Tシャツ", "3000", "M"),
      array("コート", "45000", "L")
   );
 
   // 書き込むファイルを指定して、書き込み設定して開きます。
   $f = fopen("test1.csv", "w");
 
   // 正常にファイルが開いているか確認します。
   if ( $f ) {
 
      // $data から配列を呼び出して書き込みます。
      foreach($data as $line){
         // fputcsv関数でファイルに書き込みます。
         fputcsv($f, $line);
      } 
   }
 
   // ファイルを閉じます。
   fclose($f);
 
?>

実行後に、test1.csvを開くと、以下の内容が書かれています。

商品,価格,サイズ
ワンピース,20000,S
ズボン,1500,L
Tシャツ,3000,M
コート,45000,L

サンプルコード2

<?php
 
   $data = array(
      1 => "apple",
      2 => "banana",
      3 => "orange"
   );
 
   $fp = fopen("test2.csv", "w");
 
   fputcsv($fp, $data);
 
   fclose($fp);
 
?>

実行後に、test2.csvを開くと、以下の内容が書かれています。

apple,banana,orange

サンプルコード3

<?php
 
   $data = array(
      1 => "apple",
      2 => "banana",
      3 => "orange"
   );
 
   $fp = fopen("test3.csv", "w");
 
   foreach($data as $key => $value){
 
      fputcsv($fp, array($key, $value));
 
   }
 
   fclose($fp);
 
?>

実行後に、test3.csvを開くと、以下の内容が書かれています。

1,apple
2,banana
3,orange

サンプルコード4

<?php
 
   $data = array(
      "one" => "apple",
      "two" => "banana",
      "three" => "orange",
   );
 
   $fp = fopen("test4.csv", "w");
 
   fputcsv($fp, $data);
 
   fclose($fp);
 
?>

実行後に、test4.csvを開くと、以下の内容が書かれています。

apple,banana,orange

fwrite関数

サンプルコード1

<?php
 
   $input_data = array(
      array(1,'りんご',100),
      array(2,'みかん',150),
      array(3,'いちご',300)
   );
 
   $fp = fopen('test5.csv', 'w');
 
   foreach($input_data as $data){
 
      $line = implode(',' , $data);    // 取得したデータと”、”を結合する
      fwrite($fp, $line . "\n");
   }
 
   fclose($fp);
 
?>

実行後に、test5.csvを開くと、以下の内容が書かれています。

1,りんご,100
2,みかん,150
3,いちご,300

implode関数は、以下を参照ください。

PHPマニュアル 

コメント

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