1

複雑な php4 コードがありfile_put_contents、次のように を使用してファイルに何かを書き込みたい:

$iCounter = 0;
foreach blah...
    ... code
    file_put_contents("/tmp/debug28364363264936214", "test" . $iCounter++ . "\n", FILE_APPEND);
    ...code

指定されたファイルにデータを追加するために使用FILE_APPENDしています。出力するものに制御文字が含まれていないことは確かです。乱数シーケンスにより、ファイルが他のコンテキストで使用されていないことが確認されます。 printout) がfile_put_contents呼び出される頻度を制御するために使用されます。

コードを実行して、今見たファイルの内容を見る

test8

私が見ることを期待している間

test1
test2
test3
test4
test5
test6
test7
test8

構文に問題はありますか? コードは php4 では機能しないのでしょうか? 代わりに他に何が使えますか?

PS私は非常に大規模でかなり古いphp4プロジェクトに取り組んでいるので、プロジェクトをphp5で再コーディングする方法はありません。2年以内じゃない…

4

3 に答える 3

4

使用fopen(); file_put_contents()はphp5です。

$file = fopen("/tmp/debug28364363264936214", "a+");
fwrite($file, "test" . $iCounter++ . "\n");
fclose($file);
于 2013-06-22T11:22:07.277 に答える
2

配列入力がある場合はforeachを使用できます。同様の手順になります

for ($iCounter = 1; $iCounter <= 10; $iCounter++) {

$test_var .= "test" . $iCounter . PHP_EOL;

}


if (file_exists("/tmp/debug28364363264936214")) {

file_put_contents("/tmp/debug28364363264936214", $test_var, FILE_APPEND);

    echo "The file was written";
} else {
    echo "The file was not written";
}

php4コード

if (file_exists("/tmp/debug28364363264936214")) {

$fp = fopen('/tmp/debug28364363264936214', 'a');
fwrite($fp, $test_var);
fclose($fp);

    echo "The file was written";
} else {
    echo "The file was not written";
}

あなたのコードはphp4にあるかもしれませんが、php5を使用している場合はphp5で動作するはずです。エラーを再コーディングするだけです。

于 2013-06-22T10:15:25.760 に答える
0

データを追加する場合は、次のようにします

 $file = "yourfile.txt";
 $data = file_get_contents($file);
 $data =  $data . $newdata;
 file_put_contents($file, $data);
于 2013-06-22T09:36:31.713 に答える