Файл: 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%">
<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($fn, trim($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>