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の値に変更する必要があります。試してみましたが、これを機能させることができません。関数は機能しますが、すべてではありません。 、それは完璧です。なぜなら、これを続けて保存する方法がわからないからです。