ツールEX

▼お好みのPHPプログラム、便利ツールがありましたら、ご活用くださ~い!


PHPプログラマ
緊急募集!

 

配布プログラム

 ▼PHPプログラム

 ▼テンプレート

CSV Loader

Array Loader

メインメニュー

便利ツール

 ▼Web便利ツール

 

PHPが動作するサーバー

 

はじめてのHP | 無料素材 | タグ辞典 | CSSガイドEX | PHPを学ぼう!

CSV Loader

PID

T0000

テンプレート名

CSV Loader

有料/無料

無 料

開発言語

PHP4~

Ver.

1.0

動作環境

PHP4~が動作するサーバー

制作日

2013/1/26

設置難易度

★★☆☆☆

備 考

 


【内 容】

csv やテキスト等のファイルから値を取り込み array値 に格納する function 関数です。
値を区切りはカンマ(,)、クォーテーション(')、ダブルクォーテーション(")、タブなど任意の記号で区分けできます。
エクセル(excel)等の表計算ファイルからの取り込みも可能なので、 それらで作成し利用することも可能です。
またデータの書き込みや削除などの機能を追加すれば、簡易的なデータベースをとしての利用もできます。

 

【使い方】

[1]
ご利用のサイトの文字コードに合わせて utf-8 か shift_jis のファイルを選択してください。
function の読み込みには、 include や require を利用して取り込む方法がありますが、 ここでは単純に利用したい php ファイルに以下のコードを貼り付けるやり方で紹介します。
以下の コードA をコピペして利用したいページ貼り付けてください。
ここでは test.php で作成します。

 

[コードA]

<?php
function CsvLoader($file, $key, $switch){
 $data_file = $file;
 $fp = fopen($data_file,"r") or die('<font color="red">*ファイルオープンエラー!</font>');
 while(!feof($fp)){
  $data = fgets($fp);
  $array[] = explode($key, $data);
 }
 if($switch == 1){
  echo "<pre>";
  print_r($array);
  echo "</pre>";
 }
 if($switch == 2){
  //array値順位を反転
  $array = array_reverse($array);
 }
 return $array;
}
?>

 

[2]
CsvLoaderの関数を実行するには、以下の様な使い方をします。

 

[コードB]

<?php
 $data = CsvLoader($file, $key, $switch);
>

 

$data では、$data という変数に CsvLoader で実行した値が代入されます。
代入する変数は任意で設定してください。
$file では、読み込みたいファイル名を相対パスで指定します。
$key では、1行内のデータを区切るキーワードを指定します。

以下の内容を CSV ファイルから読み込んだ場合について説明します。

 

 大島優子,栃木県・・・,03-1234-****
 島崎遥香,埼玉県・・・,03-1235-****
 渡辺麻友,埼玉県・・・,03-1236-****
 [参考ファイル: test.zip ]

 

エクセル等で CSV ファイルを作成した場合は、カンマ区切りとなっています。
$data[0][0] に1行目、$data[1] [0]に2行目が順番に代入され、 それぞれの行で "," で区切られた箇所で $data[0][1]$data[0][2]$data[0][3] と 値が取り込まれていきます。

 

上記の例では、 array値 として以下のとおり作成されます。

 

 $data[0][0] = "大島優子";
 $data[0][1] = "栃木県・・・";
 $data[0][2] = "03-1234-****";
 $data[1][0] = "島崎遥香";
 $data[1][1] = "埼玉県・・・";
 $data[1][2] = "03-1235-****";
 $data[2][0] = "渡辺麻友";
 $data[2][1] = "埼玉県・・・";
 $data[2][2] = "03-1236-****";

 

$data に多次元配列として代入されます。

 

$switch は、通常は "0" を指定します。
"1" を指定した場合には、関数を設置した場所に読み込んだデータ全てを印字します。
代入された内容を確認したい時に便利です。

"2" を指定した場合には、読み込んだデータを反転させます。
1,2,3,4,5,6,7 のデータが、 7,6,5,4,3,2,1 と並び替えられるイメージです。

 

[利用例のコード]

<?php
 $data = CsvLoader("./test.csv", ",", 0);
>

 

利用する際には、 コードAB をまとめて実行し、変数に代入させます。 test.php に記述してください。

 

[実行コード]

<?php
function CsvLoader($file, $key, $switch){
 $data_file = $file;
 $fp = fopen($data_file,"r") or die('<font color="red">*ファイルオープンエラー!</font>');
 while(!feof($fp)){
  $data = fgets($fp);
  $array[] = explode($key, $data);
 }
 if($switch == 1){
  echo "<pre>";
  print_r($array);
  echo "</pre>";
 }
 if($switch == 2){
  //array値順位を反転
  $array = array_reverse($array);
 }
 return $array;
}
 $data = CsvLoader("./test.csv", ",", 0);
?>

 

[3]
$data 変数に代入された値を利用する場合に array key を指定します。
例えば、 $data[1][0] とすると、値は "島崎遥香" となります。
$data[1][2] とすると、値は "03-1236-****" となります。

 

渡辺麻友の情報を書き出したいときには、

 

<?php
 echo $data[2][0]."<br />";
 echo $data[2][1]."<br />";
 echo $data[2][2]."<br />";
?>

 

とすると、
ホームページ上は、

 渡辺麻友
 埼玉県・・・
 03-1236-****

と表示されます。

一覧表を作成する際は、

 

<table><tr><th>氏 名</th><th>住 所</th><th>電話番号</th></tr>
<?php
 for($i=0; $i<count($data); $i++){
  echo "<tr>";
  echo "<td>".$data[$i][0]."</td>";
  echo "<td>".$data[$i][1]."</td>";
  echo "<td>".$data[$i][2]."</td>";
  echo "</tr>";
}
?>
</table>

 

と for 関数を使うと以下のような一覧を表示させることができます。

 

氏 名

住 所

電話番号

大島優子

栃木県・・・

03-1234-****

島崎遥香

埼玉県・・・

03-1235-****

渡辺麻友

埼玉県・・・

03-1236-****

 

 


 

忍者AdMax

ex-mode.net | 素材EX | アフィモール | 初級者向 初めてのホームページ作り | Htmlタグ辞典 | 初めてのプランター菜園 | リンク・ボード | 気のみ気のままなブログ
PHPを学ぼう! | CSSガイドEX | ホビ★コレ | 班長日記!

▲UP

Copyright (C) ex-mode.net 2017. All Rights Reserved.