Просмотр файла lib/zip_read.php

Размер файла: 3.96Kb
<?php
include "cfg.php";
include "unzip.lib.php";
$filename = $_GET['book_id'].'.zip.mid';
if (@function_exists('gzinflate')) {
$import_handle = new SimpleUnzip(); //Начинаем извлечение текста из zip-архива...
$import_handle->ReadFile($filename);
if ($import_handle->Count() == 0) { //Если был запакован пустой файл...
die("Запрошенная книга повреждена!");
} elseif ($import_handle->GetError(0) != 0) {
die("Во время распаковки файла произошла ошибка.");
} else {
$unzipped_text = $import_handle->GetData(0); //Всё прошло успешно. Заливаем результат в переменную.
}
$import_handle = ''; //Теперь переменная не нужна. обнуляем...
} else {
die("На этом хостинге скрипт работать не сможет!"); //Если на хостинге нет функции gzinflate
}

header("Content-type: text/vnd.wap.wml;charset=utf-8");
$ret = "<?xml version=\"1.0\"?>\n<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\"". " \"http://www.wapforum.org/DTD/wml_1.1.xml\">\n<wml>\n<card title=\"WAP-Библиотека\">\n<small>\n";
if(!isset($_GET['chars']) || empty($_GET['chars'])){ //Если пользователь ещё не выбрал кол-во знаков, то заставляем его это зделать
$ret .= '<p>
<br />&#1057;&#1080;&#1084;&#1074;&#1086;&#1083;&#1086;&#1074;:<br/>
<select name="kolvo" value="1" title="&#1042;&#1099;&#1073;&#1086;&#1088;">
<option value="1">500</option> <option value="2">800</option>
<option value="3">1000</option> <option value="4">1600</option>
<option value="5">2100</option> <option value="6">8000</option></select>
<br/><anchor>&#1042;&#1099;&#1073;&#1086;&#1088; <go href="zip_read.php" method="get">
<postfield name="chars" value="$(kolvo:noesc)"/>
<postfield name="book_id" value="'.$_GET['book_id'].'"/>
</go></anchor><br/><br/></p>';
} else {
if (file_exists($filename)) //Если запрошен реальный файл...
{
if(!isset($_GET['p']))$p=1; else $p = $_GET['p'];
if($_GET['chars']==1) $five=500;
elseif($_GET['chars']==2) $five=800;
elseif($_GET['chars']==3) $five=1000;
elseif($_GET['chars']==4) $five=1600;
elseif($_GET['chars']==5) $five=2100;
elseif($_GET['chars']==6) $five=8000;
else $five=500; //Если пользователь не указал кол-во знаков, считаем что он выбрал 500
$unzipped_text = htmlspecialchars($unzipped_text);
$unzipped_text = str_replace("\n","<br/>",$unzipped_text);
$size=strlen($unzipped_text);
$obsum = $p * $five;
$nasum = $obsum - $five;
$end='0';
if(!isset($_GET['go']))
{
for($i=$nasum; $i<$obsum; $i++)
{
if(!isset($unzipped_text[$i])) $end='1'; else $ret .=$unzipped_text[$i];
}
$ret .= "<br/>\n";
if($p == '1')  $ret .= '&lt;&lt;&lt; | '; else {$ret .= '<a href="zip_read.php?book_id='.$_GET['book_id'].'&amp;p='.($p-1)."&amp;chars=".$_GET['chars']."\">&lt;&lt;&lt;</a> | ";}
if($end=='1')  $ret .= '&gt;&gt;&gt;'; else {$ret .= '<a href="zip_read.php?book_id='.$_GET['book_id'].'&amp;p='.($p+1)."&amp;chars=".$_GET['chars']."\">&gt;&gt;&gt;</a>";}

$ret .= '<br/><a href="zip_read.php?go=1&amp;chars='.$_GET['chars'].'&amp;book_id='.$_GET['book_id']."\">Перейти</a>\n";
$ret .= '<br/><a href="zip_read.php?book_id='.$_GET['book_id']."&amp;chars=".$_GET['chars']."\">В начало</a>\n";
if($allow_download==1) $ret .= "<br/><a href=\"./".$_GET['book_id'].".zip.mid\">Скачать в ZIP</a>\n";
$ret .= "<br/>\n<br/><a href=\"index.php\">Библиотека</a>\n";
$ret .= "<br/><a href=\"$main_url\">Главная</a>\n";
  }
  else $ret .='
  Введите номер страницы от 1 до '.(ceil(strlen($unzipped_text)/$five)).'<br/><input name="code" format="*N"  maxlength="10" title="code"/><br/>
  <anchor title="go">Перейти<go href="zip_read.php" method="get">
  <postfield name="p" value="$(code)"/>
  <postfield name="book_id" value="'.$_GET['book_id'].'"/>
  <postfield name="chars" value="'.$_GET['chars'].'"/>
  </go></anchor>';

}
}
$ret .= "\n</small>\n</card>\n</wml>";
if(@function_exists('iconv')){ //если  есть функция iconv, конвертируем текст в utf-8
echo iconv('WINDOWS-1251','UTF-8',$ret);
}else{//Если нет, то конвертируем русские буквы в &xxxx;
include "utf.php";
echo utf($ret);//Выводим страницу...
}
?>