1

fopen"a"追加モードを使用してファイルに書き込む方法を理解するのに問題があります。

ファイル自体は単純なPHP配列です。

$array = array(
  "entry1"   => "blah blah",
  "entry2"   => "forbarbaz",
);   

十分に単純です。したがって、2番目の引数を「a」に設定してfopenを使用すると、fputsを使用してファイルを追加できるようになります。問題は開始行と終了行です$array = array();

したがって、ファイルは次のようになります。

  "entry1"   => "blah blah",
  "entry2"   => "forbarbaz",

開始行と終了行のないエントリのリストを含む単なるtxtファイルであると仮定して、このデータを機能するPHP配列に再構築するにはどうすればよいですか?これが明確でない場合は申し訳ありませんが、少し複雑です。いいえ、これらの値をDBに格納するつもりはありません。これらの特定の値をファイル配列に保持することにより、速度を向上させる必要があります。

だから問題は本当に私がこのような行ごとのリストでtxtファイルから使用可能なPHP配列を構築することについてどうやって行くのかということです?

明確にするために:

次のような行を含むtxtファイルを取り込むにはどうすればよいですか?

  "entry1"   => "blah blah",
  "entry2"   => "forbarbaz",

実行可能な$php_array()????

4

4 に答える 4

2

これを試して。

ファイル形式 (作業開始時):

<?php
$array = array();

これで正しいphpファイルになりました。

次に、次のように新しい行を追加します。

$f = fopen('myarray.php', 'a');
fputs($f, PHP_EOL.'$array["entry1"] = "value1";');
fclose($f);

そして、それを簡単に使用してくださいinclude('myarray.php');

于 2012-04-09T18:58:28.067 に答える
0

未テスト。これを試して:

$data = file_get_contents('./data.txt', true);
$array = eval("array(".$data.")");

参考までに、shiplu.mokad.im のソリューションが最も簡単です。

于 2012-04-09T18:57:57.530 に答える
0

json_encodeファイルに保存するときにjson_decode配列を、ファイルから抽出するときに JSON を配列にしないのはなぜですか?

json_encode
json_decode

于 2012-04-09T18:55:24.797 に答える
0

fseek 関数を探しているかもしれません: http://se.php.net/fseek

モードでファイルを開くr+と、ファイル ポインタはファイルの先頭にあります。ファイルの最後から数バイトを引いた場所に配置してから、新しいデータを書き込みたいようです。

于 2012-04-09T19:02:49.067 に答える