1

2 つのテキスト ファイルを で区切られたデータと比較してみ-ました。ある場合には 1 つのファイルがすべてのデータを取得し、別の場合には同じ ID を持つ変更用のデータのみを持ちます。この場合、このファイルは呼び出されます。db_tmp.txt

両方のファイルの構造は次のとおりです。

ファイル txt (最初は ID です) db/text.txt

1a34-Mark Jhonson
1a56-Jhon Smith
1a78-Mary Walter

比較用のファイルには、たとえば変更用のデータがあり、同じ ID で内容が異なります - db_tmp.txt

1a56-Tom Tom

両方のファイルを比較して、同じ ID と変更が存在するかどうかを検出する関数を作成しました。

<?php
$cron_file    = file("db_tmp.txt");
$cron_compare = file("db/test.txt");

function cron($file_temp, $file_target)
{    
    for ($fte = 0; $fte < sizeof($file_temp); $fte++) {
        $exp_id_tmp = explode("-", $file_temp[$fte]);
        $cr_temp[]  = "" . $exp_id_tmp[0] . "";
    }

    for ($ftt = 0; $ftt < sizeof($file_target); $ftt++) {
        $exp_id_targ = explode("-", $file_target[$ftt]);
        $cr_target[] = "" . $exp_id_targ[0] . "";
    }

    $diff = array_diff($cr_target, $cr_temp);

    $it = 0;
    foreach ($diff as $diff2 => $key) {
        echo $diff2;
        echo "--- $key";
        print "<br>";
    }   
}

cron($cron_file, $cron_compare);
?>

同じIDがtmpに存在する場合、他のファイルのエントリを検出し、tmpの値に変更する必要があります。試してみましたが、これを機能させることができません。関数は機能しますが、すべてではありません。 、それは完璧です。なぜなら、これを続けて保存する方法がわからないからです。

4

1 に答える 1