-1

私はperlファイルとphpファイルを持っています。perl ファイルの大きなハッシュを php に渡す必要があります。

perl ファイルによって生成されたデータは、ファイルに保存する必要があります。この php は、このファイルを読み取り、同じものを変更する必要があります。この変更されたファイルは、perl によって読み戻され、他の操作を行う必要があります。

共有するデータは、非常に大きく、多くの内部配列を持つ perl ハッシュです。

ハッシュをjsonに保存してphpで読み取ろうとしましたが、失敗しました。

同じための他の方法はありますか?

4

3 に答える 3

1

複数のソースが同じデータ ストアにアクセスする場合、データベースが最も一般的なオプションですが、テキスト ファイルもまったく同じように機能します。

あなたの質問に答えるために-はい、共同データストアを作成するための他の方法があります-DBとDBライブラリ、CSV、Excelなど。選択ごとに、それにアクセスするためにperlとPHP APIに慣れる必要があります-あなたはかもしれませんプレーン テキストの JSON でだますよりも簡単です。

于 2012-06-07T19:48:40.817 に答える
1
$data = json_decode(file_get_contents('my_data.json'), true);

# PROCESS DATA

file_put_contents('my_data.json',
                  preg_replace('/\\\\u([a-f0-9]{4})/e',
                               'iconv("UCS-4LE",
                                      "UTF-8",
                                       pack("V",
                                       hexdec("U$1")))',
                  json_encode($data)));

preg_replace は、PHP が通常 Unicode 文字に対して出力する醜い "\uXXXX" シーケンスを処理します。PHP 5.4+ を使用している場合、これは代わりに機能するはずです。

file_put_contents('my_data.json', json_encode($data, JSON_UNESCAPED_UNICODE));

他の回答の1つで述べたように、多くの読み書きを行う必要がある場合は、データベースの使用を検討してください.

于 2012-06-07T20:52:33.343 に答える
1

PHPシリアライゼーションとこのperlモジュールを見てください。2 つの言語間で単純な文字列としてデータ構造を交換する簡単な方法です。

于 2012-06-07T20:31:33.230 に答える