Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Скрипт или программа, сравнение 2 файлов (https://forum.antichat.xyz/showthread.php?t=151540)

Bal-lek 27.10.2009 15:21

Скрипт или программа, сравнение 2 файлов
 
Нужен скрипт или может программа. Задача такая: есть два файла текстовых, необходимо сравнить их и то, чего не хватает в одном из них, вывести в отдельный файл.
Пример:
1-ый файл:
12345
121331

2-ой файл:
11у2323
121331
12345
56738
378арв9

Результат:
11у2323
56738
378арв9


Т.е. если есть одинаковые, но не в таком порядке как в первом файле, выводить не нужно.
Как это реализовать, просто далек от php и всего такого... Спасибо

Deathdreams 27.10.2009 16:38

PHP код:


$n_one 
= @file_get_contents('веб путь к файлу #1');
$n_two = @file_get_contents('веб путь к файлу #2');

$n_one explode("\r\n"$n_one);

$n_two explode("\r\n"$n_two);

$out '';
for(
$i=0$i <= count($n_one); $i++){

for(
$y=0$y <= count($n_two); $y++){

if(
trim($n_one[$i]) == trim($n_two[$y])){ continie; }else{

$out .= $n_two[$y].'\r\n';

}
}

echo 
'done.\r\nresult:\r\n';
echo 
$out

вроде так

L I G A 27.10.2009 16:50

Deathdreams c explode() у тебя не выйдет так как "\r\n"

Deathdreams 27.10.2009 16:50

L I G A
Спс, исправил.

Привык уже одинарные ставить.

krypt3r 27.10.2009 16:51

PHP код:

<?php
  $file1 
file ('18_1.txt');
  
$file2 file ('18_2.txt');
  
$res array_diff ($file2$file1);
  
print_r ($res);
?>

вот и весь код =)

mailbrush 27.10.2009 16:51

Deathdreams, ну и накодил ты... Цикл в цикле...
Bal-lek, юзай самый простой вариант:
PHP код:

<?php

$file1 
array_map('trim'file('file1.txt'));
$file2 array_map('trim'file('file2.txt'));
$diffs array_diff($file2$file1);
foreach (
$diffs as $diff)
    echo 
$diff "<br>\r\n";

?>


Deathdreams 27.10.2009 16:52

mailbrush
То, что первым в голову пришло : )

Gray_Wolf 27.10.2009 18:23

Цитата:

Сообщение от Deathdreams
mailbrush
То, что первым в голову пришло : )

Ну пузырёк вообще часто первым приходит в голову, но лучше от этого отвыкать...

Pashkela 27.10.2009 18:40

А теперь представьте себе, что оперативки ~ 64 мб и у вас оба файла по 1Гб. Напишите универсальное решение, самим интересно будет :)

Bal-lek 27.10.2009 20:36

ВСЕМ спасибо, ребят, сорри но я вообще нуб в php, как мне теперь организовать вывод результата либо на экран либо в файл?


Время: 11:15