Вход Регистрация
Файл: inc/tools/text_dublicator/index.php
Строк: 91
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="100%" align="center" class="ttable">
 
  <tr>
    <td bgcolor="#D4D0C8"><strong>Уничтожитель дубликатов </strong></td>
    </tr>
  <tr>
    <td>
      <?php
      
if(!function_exists('zip_open'))
      {
    echo 
'Для работы скрипта необходим установленный <a href=http://zziplib.sourceforge.net>ZZIPlib</a><br>';
    exit;
      }
      if(!
is_writable('inc/tools/text_dublicator'))
      {
      echo 
'Для работы скрипта необходимо установить права на запись (chmod 777) для папки <i>/text_dublicator</i> !<br> ';
      exit;
      }
      if(!
is_writable('inc/tools/text_dublicator/text'))
      {
      echo 
'Для работы скрипта необходимо установить права на запись (chmod 777) для папки <i>/text_dublicator/text</i> !<br> ';
      exit;
      }
      
?></td>
    </tr>
  <tr>
    <td>Файл для обработки (в ZIP архиве): &nbsp;
      <input name="file1" type="file" id="file1" /></td>
    </tr>
  
  <tr>
    <td>
      <input name="execute" type="hidden" id="execute" value="true" />      <input name="Submit" type="submit" value="Обработать" />    </td>
    </tr>
  <tr>
    <td>
    <?php
if ($_POST['execute'])
{
@
unlink('inc/tools/text_dublicator/archive.zip');
@
unlink('inc/tools/text_dublicator/results.zip');
@
unlink('inc/tools/text_dublicator/clean.txt');

$directory='inc/tools/text_dublicator/text/';
    
$handler opendir($directory);
     while (
$file readdir($handler)) {
        if (
$file != '.' && $file != '..')
        {
        @
unlink("inc/tools/text_dublicator/text/".$file);
        }
        }
if (
move_uploaded_file($_FILES['file1']['tmp_name'], 'inc/tools/text_dublicator/archive.zip'))
{
echo 
'Архив загружен...<br>';
}
else
{
echo 
'Архив не загружен...'; exit;
}
$zip = new ZipArchive;
if (
$zip->open('inc/tools/text_dublicator/archive.zip') === TRUE) {
       
$filename=$zip->getNameIndex(0);
    
$zip->extractTo('inc/tools/text_dublicator/text'$filename);
    
$zip->close();
    echo 
'Архив распакован...<br>';
} else {
    echo 
'Ошибка при разархивировании...';
    exit;
}
////////
$parts=100;
$mmc=fopen('inc/tools/text_dublicator/text/'.$filename"r");
fseek($mmc0SEEK_END);
$high ftell($mmc);

echo 
"Обнаружен файл размером ".$high." байт<br>";

// Если файл превышает 100 мегабайт, будем обрабатывать его по частям
if ($high>100000000)
{

$partsize=ceil($high/$parts);
$undesyntem=0;
rewind($mmc);
$es=array();
for (
$i=0$i<=$parts$i++)
{
ob_flush(); flush();
$obtinem=count($es);
echo 
"Часть $i из $parts - Элементов в уникальном массиве - $obtinem <br>";
$inceputla=$i*$partsize-1024;
// if ($undesyntem<$inceputla) $inceputla=$undesyntem;
$pinala=($i+1)*$partsize;
if (
$inceputla>$high$inceputla=$high;
if (
$pinala>$high$pinala=$high;
fseek($mmc$inceputla);
$undesyntem=ftell($mmc);
fgets($mmc);
while (
$undesyntem<$pinala)
{
fgets($mmc);
$es[]=fgets($mmc);
$undesyntem=ftell($mmc);
}
if (
$i%3==0$es=array_unique($es);

}

}
else
{
$es=file('inc/tools/text_dublicator/text/'.$filename);
echo 
"Файл успешно прочтён. Начато уничтожение дубликатов...<br>";
ob_flush(); flush();
$es=array_unique($es);
}


$fg=fopen('inc/tools/text_dublicator/clean.txt''a');
foreach(
$es as $hopa)
{
ob_flush(); flush();
fwrite($fgtrim($hopa)."rn");
}
fclose($fg);

//////////

$zip2 = new ZipArchive;
if (
$zip2->open('inc/tools/text_dublicator/results.zip'ZipArchive::CREATE) === TRUE) {
        
$zip2->addFile('inc/tools/text_dublicator/clean.txt''clean.txt');
    
$zip2->close();
    echo 
"Очистка от дубликатов закончена...<br>Файл заархивирован... <br><a href='text_dublicator/results.zip'>Скачать результат >></a>";
    }
else
echo 
'Ошибка при архивировании результатов <br>';

}
?>    </td>
  </tr>
  </table>
</form>
Онлайн: 2
Реклама