この記事では、タブ区切りファイルの読み書きをphpで実装する例について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:
この PHP コードは、タブ区切りファイルの読み取りと書き込みを実装します。これには、CVS ファイルなど、読み取り用と書き込み用の 2 つの独立した関数が含まれます。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
// // 配列をタブ区切りのテキストファイルとして保存します // 関数 write_tabbed_file($filepath, $array, $save_keys=false){ $content = ''; リセット($array); while(list($key, $val) = each($array)){ // キーと値のタブを [スペース] に置き換えます $key = str_replace("t", " ", $key); $val = str_replace("t", " ", $val); if ($save_keys){ $content .= $key."t" } //行を作成: $content .= (is_array($val)) implode("t", $val) : $val; $content .= "n"; } if (file_exists($filepath) && !is_writeable($filepath)){ false を返す; } if ($fp = fopen($filepath, 'w+')){ fwrite($fp, $content); fclose($fp); } else { return false } true を返す; } // // タブ区切りのテキストファイルを配列としてロードします // 関数load_tabbed_file($filepath, $load_keys=false){ $配列 = 配列(); if (!file_exists($filepath)){ $array を返す } $content = ファイル($ファイルパス); for ($x=0; $x $line =explode("t", トリム($content[$x])); if ($load_keys){ $key = array_shift($line); $array[$key] = $line; } else { $array[] = $line } } } $array を返す; } /* ** 使用例: */ $配列 = 配列( 'line1' => array('data-1-1', 'data-1-2', 'data-1-3'), 'line2' => array('data-2-1', 'data-2-2', 'data-2-3'), 'line3' => array('data-3-1', 'data-3-2', 'data-3-3'), 'line4' => 'foobar', 'line5' => 'hello world' ); // 配列を data.txt ファイルに保存します: write_tabbed_file('data.txt', $array, true); /* data.txt の内容は次のようになります: line1 データ-1-1 データ-1-2 データ-1-3 line2 データ-2-1 データ-2-2 データ-2-3 line3 データ-3-1 データ-3-2 データ-3-3 line4 フーバー line5 ハローワールド */ // 保存された配列をロードします: $reloaded_array =load_tabbed_file('data.txt',true); print_r($reloaded_array); // 上から配列を返します |
この記事が皆様の PHP プログラミング設計に役立つことを願っています。