Вход Регистрация
Файл: inc/tools/text_splitter/index.php
Строк: 109
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="100%" align="center" class="ttable">
 
  <tr>
    <td colspan="2" bgcolor="#D4D0C8"><strong>Сплиттер</strong></td>
    </tr>
  <tr>
    <td colspan="2">
      <?php
      
if(!function_exists('inc/tools/text_splitter/zip_open'))
      {
    echo 
'Для работы скрипта необходим установленный <a href=http://zziplib.sourceforge.net>ZZIPlib</a><br>';
    exit;
      }
      if(!
is_writable('inc/tools/text_splitter/results'))
      {
      echo 
'Для работы скрипта необходимо установить права на запись (chmod 777) для папки <i>/text_splitter/results</i> !<br> ';
      exit;
      }
      if(!
is_writable('inc/tools/text_splitter'))
      {
      echo 
'Для работы скрипта необходимо установить права на запись (chmod 777) для папки <i>/text_splitter</i> !<br> ';
      exit;
      }
      
?></td>
    </tr>
  <tr>
    <td width="47%"><div align="right">Файл для разбиения на части (в ZIP архиве): </div></td>
    <td width="53%">&nbsp;
      <input name="file1" type="file" id="file1" /></td>
  </tr>
  <tr>
    <td><div align="right">Количество строк в одной части </div></td>
    <td>
      <input name="divide" type="text" value="1000" size="10" />    </td>
  </tr>
  <tr>
    <td><div align="right">Имя файла результатов </div></td>
    <td><input name="resultfilename" type="text" value="split" /></td>
  </tr>
  <tr>
    <td><div align="right">Нумерация файлов с результатами: с </div></td>
    <td><input name="advance" type="text" id="advance" value="0" size="2" maxlength="2" /></td>
  </tr>
  
  <tr>
    <td colspan="2"><div align="center">
      <input name="clearfolder" type="hidden" id="clearfolder" value="1" checked="checked" />
      <input name="execute" type="hidden" id="execute" value="true" />
      <input name="Submit" type="submit" value="Разбить" />
    </div></td>
    </tr>
  <tr>
    <td colspan="2">
    <?php
if ($_POST['execute'])
{
if (
move_uploaded_file($_FILES['file1']['tmp_name'], 'inc/tools/text_splitter/archive.zip'))
{
echo 
'Архив загружен...<br>';
}
else
{
echo 
'Архив не загружен...'; exit;
}
$zip = new ZipArchive;
if (
$zip->open('inc/tools/text_splitter/archive.zip') === TRUE) {
       
$filename=$zip->getNameIndex(0);
    
$zip->extractTo('inc/tools/text_splitter'$filename);
    
$zip->close();
    echo 
'Архив распакован...<br>';
} else {
    echo 
'Ошибка при разархивировании...';
    exit;
}

extract($_POST);
@
unlink('inc/tools/text_splitter/archive.zip');
@
unlink('inc/tools/text_splitter/results.zip');
if (isset(
$clearfolder)) 

{
$directory='inc/tools/text_splitter/results/';
    
$handler opendir($directory);
     while (
$file readdir($handler)) {
        if (
$file != '.' && $file != '..')
        {
        @
unlink("inc/tools/text_splitter/results/".$file);
        }
        }
}

// Нумерация первого файла результатов
if (!isset($advance)) $advance=0;

// По сколько необходимо разделить
if (!isset($divide)) exit ("Введите количество строк в одной части");
// Имя файла в случае отсутствия исходного
if (!isset($resultfilename)) $resultfilename="clean";

// Устанавливаем переменную счётчика
$counter=0;
// Открываем папку
$handler opendir($directory);

// Открываем файл для чтения
$fs=fopen ('inc/tools/text_splitter/'.$filename"r");

if (!
$fs) die("Файл для разбиения не выбран");

// Открываем результирующий файл для записи
$fn=fopen("inc/tools/text_splitter/results/".$resultfilename."_".$advance.".txt""a");
// Проходим по всему исходному файлу
while(!feof($fs))
    {
// Увеличиваем счётчик
$counter++;
// Если достигнуто заданное количество элементов
if ($counter>$divide)
        {
// Закрываем файл, в котоырй писали
fclose($fn);
// Увеличиваем переменную имени файла
$advance++;
// Открываем новый файл для записи
$fn=fopen("inc/tools/text_splitter/results/".$resultfilename."_".$advance.".txt""a");
// Обнуляем счётчик записей текущей сессии
$counter=0;
        }
// Получаем строку
$rec=fgets($fs);
// Записываем её в результирующий файл
fwrite($fntrim($rec)."rn");
    }
// Закрываем записываемый файл
fclose($fn);
// Закрываем исходный файл
fclose($fs);

echo 
'Разбиение успешно завершено<br>';
@
unlink('inc/tools/text_splitter/'.$filename);
$zip2 = new ZipArchive;
if (
$zip2->open('inc/tools/text_splitter/results.zip'ZipArchive::CREATE) === TRUE) {
$directory='inc/tools/text_splitter/results/';
    
$handler opendir($directory);
     while (
$file readdir($handler)) {
        if (
$file != '.' && $file != '..')
        {
        
$zip2->addFile("inc/tools/text_splitter/results/".$file$file);
        }
        }
    
$zip2->close();
    echo 
"Файлы заархивированы... <br><a href='text_splitter/results.zip'>Скачать результат >></a>";
    }
else
echo 
'Ошибка при архивировании результатов <br>';

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