0

このような設定ファイルにいくつかの情報を書き込むPHPファイルがあります...

#Date=01/2012
text1=hello
text2=goodbye

等...

このファイルは、perlスクリプトで使用するcfgファイルとして記述されていますが、perlスクリプトで再度使用できるように毎回編集できるように、ファイルをPHPに読み戻す必要があります。

これはどのように行うことができますか?

以前は.csvファイルに書き込んで読み直してもらいましたが、これは必要なものではなく、cfgファイルに含める必要があると言われたので、情報をに戻すのも同じくらい簡単です。 .csvファイルを読み取るときのPHPスクリプト。

必要なのは、text1変数とtext2変数を読み込むのではなく、equalsの後にあるものを読み込んで、hello文字列とgoodbye文字列をPHPに読み戻すことだと思います。

もう1つのことは、ユーザーがtext1と言うためにさらに情報を追加すると、複数の値を持つことになります。たとえば、text1を...に変更できます。

text1=hello,howareyou

次に、それはPHPスクリプト内の個別のエンティティである必要があるため、個別のデータを取得するためにexplode関数を使用すると思います。

このデータはテーブルに読み込まれ、そこでユーザーはperlスクリプトが再度実行されるときに備えて情報を編集できます。

情報が読み込まれると、私のHTMLは次のようになります。

<table>
    <tr>
        <td>text 1</td>
        <td>hello</td>
        <td>howareyou</td>
    </tr>
    <tr>
        <td>text 2</td>
        <td>goodbye</td>
    </tr>
</table>

私はこれについて自分自身を明確にしたことを望みます、そして私はこれがどのように行われることができるかを理解するのに本当に苦労しています。.csvから読み取るほど簡単ではないようです。

また、PHPにスクリプトを実行させたくありません。ユーザーが情報を再度編集できるように、スクリプトをPHPに読み込む必要があります。

4

2 に答える 2

2

フォーマットはどこに指定されていますか?例に似た.ini-file-formatを使用できるかもしれません。を使用parse_ini_file()して、.iniファイルを配列として読み込むことができます。複数のエントリをグループ化することもできます。リンクされたPHPドキュメントページの例を参照してください。

于 2012-07-06T11:39:56.453 に答える
1

これを試して。最終的には、整然とした連想配列になります。パラメータ名は要素名、パラメータ値は要素値です。

$cfg_path = 'path/to/config.cfg';
if (file_exist($cfg_path)) {
    if (preg_match_all('/^(?!#)(.+)=(.*)$/m', file_get_contents($cfg_path), $cfg)) {
        $cfg = array_combine($cfg[1], $cfg[2]);
        foreach($cfg as $name => $val)
            echo $name.' = '.$val.'<br />';
    }
}
于 2012-07-06T11:41:16.390 に答える