ツールEX

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


PHPプログラマ
緊急募集!

 

配布プログラム

 ▼PHPプログラム

 ▼テンプレート

CSV Loader

Array Loader

メインメニュー

便利ツール

 ▼Web便利ツール

 

PHPが動作するサーバー

 

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

Array Loader

PID

T0001

テンプレート名

Array Loader

有料/無料

無 料

開発言語

PHP4~

Ver.

1.0

動作環境

PHP4~が動作するサーバー

制作日

2015/11/6

設置難易度

★★☆☆☆

備 考

 


【内 容】

Array(配列)の値をシリアライズ化してファイルの保存をします。
保存されたファイルはアンシリアライズ化して変数に代入もできます。
配列の型をそのまま保存するので展開も早く使いやすい利点があります。
配列データをそのまま扱えるのでアクセスも早くなります。
クラスデータやデータベースで配列処理する時にも利用できるようです。
カスタマイズ関数では条件に適したテキストファイルであれば行単位で配列化することができます。
例えばCSVのテキストファイルなら、"カンマ" 区切りで多元配列として取り込むことができます。

 

【使い方】

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

 

[コード]

01|<?php
02|function ArrayLoader($dir, $f_name, $array, $str, $mode, $key){
03| if($mode==1){ //シリアライズ
04|  if(is_array($array)){
05|   file_put_contents($dir.$f_name, serialize($array));
06|  }else{ return "NG"; }
07| }elseif($mode==2){ //アンシリアライズ
08|  $array=@unserialize(file_get_contents($dir.$f_name));
09|   if($array==false){$array="NG";}
10|  return $array;
11| }elseif($mode==3){ //1行の文字列を配列化
12|  $str=explode($key, $str);
13|  return $str;
14| }elseif($mode==4){ //1行の配列を文字列化
15|  $str=implode($key, $array);
16|  return $str;
17| }elseif($mode==5){ //ファイルから1行毎で配列化
18|  $array = file($dir.$f_name, FILE_IGNORE_NEW_LINES);
19|  return $array;
20| }elseif($mode==6){ //ファイルから区分で配列化
21|  $fp = fopen($dir.$f_name,"r") or die('*ファイルオープンエラー!');
22|  while(!feof($fp)){
23|   $data = fgets($fp);
34|   $array[] = explode($key, $data);
25|  }
26|  return $array;
27| }else{
28|  return "NG";
29| }
30|}
31|?>

 

[2]
ArrayLoader の関数を実行するには以下の仕様になります。

 

[コード]

<?php
 $var = ArrayLoader($dir, $f_name,, $array, $str, $mode, $key);
?>

 

$dir は、ファイルが存在する場合にディレクトリです。
$f_name は、ファイルが存在する場合にファイル名を指定です。
$array は、array が必要な場合に指定します。
$str は、文字列が必要な場合に指定します。
$mode は、処理番号を指定します。
$key は、データを区切る場合の文字列を指定します。

以下のはモード($mode)での使用例です。

 

[利用例のコード 1]

<?php
 $array=
 array("ガンバ大阪", "浦和レッズ", "鹿島アントラーズ", "横浜F・マリノス");
 ArrayLoader("./", "sample.txt", $array, "", 1, "");
?>

$array に格納された配列の状態をシリアライズ化して "sample.txt" に保存します。
ディレクトリやファイル名は適切変更してください。

 

[利用例のコード 2]

<?php
 $array=ArrayLoader("./", "sample.txt", "", "", 2, "");
?>

シリアライズされたファイルを指定することでアンシリアライズ化して展開します。
ここでは、$array の変数に値を返しています。

 

[利用例のコード 3]

<?php
 $str="オレンジ,りんご,なし,ぶどう";
 $array=ArrayLoader("", "", "", $str, 3, ",");
?>

1行の文字列から任意の文字列で配列を作ります。
このサンプルでは "," で区切りで $array の変数に値を返しています。

[戻り値]
 array("オレンジ","りんご","なし","ぶどう");

 

[利用例のコード 4]

<?php
 $array=array("オレンジ","りんご","なし","ぶどう");
 $str=ArrayLoader("", "", $array, "", 4, ",");
?>

[利用例のコード 3]の反対の処理です。
配列から任意の文字列で区切り文字列化します。
区切る文字を "," でなく、"" とすると区切り文字なしで連結して処理をします。

[戻り値]
 オレンジ,りんご,なし,ぶどう

 

[利用例のコード 5]

<?php
 $array=ArrayLoader("./", "sample.txt", "", "", 5, "");
?>

1行毎で保存されたファイルの内容を改行区切り配列化します。
以下のように一行ずつ改行されたテキストファイルの場合、

[sample.txt]
 C言語
 MySQL
 PHP
 VPS

[戻り値]
 array("C言語", "MySQL", "PHP", "VPS");

を返します。

 

[利用例のコード 6]

<?php
 $array=ArrayLoader("./", "sample.txt", "", "", 6, "");
?>

1行毎にカンマ区切りなどで区切られたファイルを配列化します。
以下のように任意の文字で区切られたテキストファイルの場合、

[sample.txt]
 山田太郎,男,20歳
 関根花子,女,29歳
 大田小太郎,男,21歳

[戻り値]
 Array
 (
  [0] => Array
   (
    [0] => 山田太郎
    [1] => 男
    [2] => 20歳
   )
  [1] => Array
   (
    [0] => 関根花子
    [1] => 女
    [2] => 29歳

   )

  [2] => Array
   (
    [0] => 大田小太郎
    [1] => 男
    [2] => 21歳
   )
 );


多元配列の値を返します。
CSVデータを取り込むときには、"$mode=6" でご利用ください。

 

 


 

忍者AdMax

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

▲UP

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