Нужен скрипт или может программа. Задача такая: есть два файла текстовых, необходимо сравнить их и то, чего не хватает в одном из них, вывести в отдельный файл. Пример: 1-ый файл: 12345 121331 2-ой файл: 11у2323 121331 12345 56738 378арв9 Результат: 11у2323 56738 378арв9 Т.е. если есть одинаковые, но не в таком порядке как в первом файле, выводить не нужно. Как это реализовать, просто далек от php и всего такого... Спасибо
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; вроде так
PHP: <?php $file1 = file ('18_1.txt'); $file2 = file ('18_2.txt'); $res = array_diff ($file2, $file1); print_r ($res); ?> вот и весь код =)
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"; ?>
А теперь представьте себе, что оперативки ~ 64 мб и у вас оба файла по 1Гб. Напишите универсальное решение, самим интересно будет
ВСЕМ спасибо, ребят, сорри но я вообще нуб в php, как мне теперь организовать вывод результата либо на экран либо в файл?
просто у меня ничего из этого не работает, названия файлов указал свои ес-но, денвер стоит используя код krypt3r выводит на экран Array ( [2] => 2 ) при использовании кода mailbrush пустой экран и ничего нету в папке Спасибо за ответы
Как вариант - считывать по одной строке fgets. Надеюсь, ты не открываешь скрипт в браузере? Всмысле напряму, с компа. Сервер юзаешь?
ну закинул папку в www на денвере, а вот насчет браузера не понял, я через браузер запускаю скрипты которые есть у меня...
ясен пень что ничего небудет а где функция открытия файлов fopen() и закрытия после записи в него?- fclose() тебе не готовую программу дали а направление в котором ее до ума довести P.S. Прошу прощение- просто не посмотрел внимательно код- думал результат в файл сохраняеться
Kusto а зачем так нервничать, я никого не заставляю отвечать, и зачем писать сюда если я написал в начале темы Вы думаете я знаю что это нужно сделать? Кто не хочет не отвечайте, никого ен заставляю!!!