
02.02.2009, 19:48
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
2 blaga:
slovar.ini
PHP код:
Результирующий файл:
resultus.txt
--------------------------------
Обрабатываемый файл:
1.txt
--------------------------------
Размер буфера:
4096
slovar.php
PHP код:
<?php
global $len_buffer;
$ipArray = array_map("trim", file("slovar.ini")); //Файл настроек
$res = trim($ipArray[1]);
$file = trim($ipArray[4]);
$len_buffer = trim($ipArray[7]);
$size2 = filesize($file);
echo "Result file file - $res\n";
echo "Adding file - $file, size - $size2 bytes\n";
echo "Buffer - $len_buffer bytes\n";
echo "Start, wait please...\n";
echo "---------------------------------------\n";
Uslovar ($file,$res);
/*Функция поиска повторов строк */
function Ustr ($fp, $str)
{
global $len_buffer;
fseek($fp,0);
while (!feof ($fp)) {
$temp = trim(fgets($fp,$len_buffer));
if ($str == $temp)
return false;
}
return true;
}
/*Функция занесения уникальных слов в результирующий файл*/
function Uslovar ($slovar1,$res)
{
global $len_buffer;
$date = date("d.m.Y H:i");
echo "$date....Start.Wait please.....\n";
$result = fopen($res, 'w+') or die ("Can't open file $res for writing");
$size = filesize ($slovar1);
$fp = fopen ($slovar1, 'r') or die ("No such file - $slovar1");
echo "Size of file " .$size. " bytes\n";
while (!feof ($fp)) {
$temp = trim (fgets ($fp, $len_buffer));
if (Ustr ($result, $temp)) {
fseek ($result, 0, SEEK_END);
fwrite ($result, $temp . "\r\n");
}
}
fclose ($fp);
fclose ($result);
$size1 = filesize ($res);
echo "All results saved in $res ($size1 bytes)\n";
}
?>
Последний раз редактировалось Pashkela; 02.02.2009 в 19:51..
|
|
|