ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Скрипт или программа, сравнение 2 файлов
  #1  
Старый 27.10.2009, 15:21
Аватар для Bal-lek
Bal-lek
Новичок
Регистрация: 25.06.2009
Сообщений: 22
Провел на форуме:
359636

Репутация: 1
По умолчанию Скрипт или программа, сравнение 2 файлов

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

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

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


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

  #2  
Старый 27.10.2009, 16:38
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

Репутация: 278
Отправить сообщение для Deathdreams с помощью ICQ
По умолчанию

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
вроде так

Последний раз редактировалось Deathdreams; 27.10.2009 в 16:50..
 
Ответить с цитированием

  #3  
Старый 27.10.2009, 16:50
Аватар для L I G A
L I G A
Постоянный
Регистрация: 27.07.2008
Сообщений: 614
Провел на форуме:
4532332

Репутация: 1196


Отправить сообщение для L I G A с помощью ICQ
По умолчанию

Deathdreams c explode() у тебя не выйдет так как "\r\n"
 
Ответить с цитированием

  #4  
Старый 27.10.2009, 16:50
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

Репутация: 278
Отправить сообщение для Deathdreams с помощью ICQ
По умолчанию

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

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

  #5  
Старый 27.10.2009, 16:51
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

PHP код:
<?php
  $file1 
file ('18_1.txt');
  
$file2 file ('18_2.txt');
  
$res array_diff ($file2$file1);
  
print_r ($res);
?>
вот и весь код =)
 
Ответить с цитированием

  #6  
Старый 27.10.2009, 16:51
Аватар для mailbrush
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

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";

?>
 
Ответить с цитированием

  #7  
Старый 27.10.2009, 16:52
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

Репутация: 278
Отправить сообщение для Deathdreams с помощью ICQ
По умолчанию

mailbrush
То, что первым в голову пришло : )
 
Ответить с цитированием

  #8  
Старый 27.10.2009, 18:23
Аватар для Gray_Wolf
Gray_Wolf
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
Провел на форуме:
1284900

Репутация: 399
По умолчанию

Цитата:
Сообщение от Deathdreams  
mailbrush
То, что первым в голову пришло : )
Ну пузырёк вообще часто первым приходит в голову, но лучше от этого отвыкать...
 
Ответить с цитированием

  #9  
Старый 27.10.2009, 18:40
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

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

  #10  
Старый 27.10.2009, 20:36
Аватар для Bal-lek
Bal-lek
Новичок
Регистрация: 25.06.2009
Сообщений: 22
Провел на форуме:
359636

Репутация: 1
По умолчанию

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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Новичкам о дорвеях троль909 Статьи 21 03.05.2010 01:11
[FAQ] BIOS Cthulchu Аппаратное обеспечение 9 17.11.2009 12:17
Сетевой этикет (Перед тем, как задать вопрос хакеру) satana-fu Статьи 7 21.10.2009 07:40
Фейки dgonik777 E-Mail 34 14.06.2009 04:01
прикол пришел на асю mesejj Болталка 11 01.05.2009 21:27



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ