Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как загружать файлы html с текстом???
 
 автор: NeoMey   (27.02.2011 в 14:11)   письмо автору
 
 

Здравствуйте подскажите пожалуйста как реализовать следующие:
Есть документы в формате html(большие от 300кб до 5мб), их нужно загружать как материал на сайте, поэтапно, ну то-есть с пролистыванием(что бы 5мб не грузилось сразу). и как это грамотно сделать для поисковиков?

Нашел интерессный скрипт, но не могу разобраться и понять как он работает, к тому же он отображает информацию вверх нагами:

<?php
// Прочитать файл
$array file("chepmen_genry.html");
// Общее количество строк
$count count($array);
// Если строк больше 0
if($count>0)
  {
   
// Вывесли общее количество строк
   
echo"Всего строк: ".$count."<br />";
   
// Если страница НЕ определена - вывести с первой. Если определена - использовать определённую
   
if(!isset($_GET["page"])?$_GET["page"]=1:$_GET["page"]=(int)$_GET["page"]);
   
// По сколько строк выводить на страницу
   
$list 500;
   
// Количество строк (вместе с текущей)
   
$j=($count-1)-(($_GET["page"]-1)*$list);
   
// Количество оставшихся строк (без текущей)
   
$i=$j-$list;
   
// Вывести строки для выбранной страницы
   
for(;$i<$j&&$j>=0;$j--)
      {
       
// Разбить построчно
       
$row=explode("/[\r]?\n/i",$array[$j]);
       
// Сохранить разбитые данные из каждой строки
       
list($text)=$row;
       
// Вывести
       
echo $text.".<br />";
      }
   
// Количество страниц
   
$all=ceil($count/$list);
   
// Вывести навигацию
   
for($i=1;$i<=$all;$i++)
      {
       
// Выбранная страница - простой текст. Все остальные страницы - ссылки
       
if($_GET["page"]==$i?$navigition=$i."¦":$navigition="<a href=http://".GETENV("HTTP_HOST").$_SERVER[PHP_SELF]."?page=".$i." title=\"Перейти на ".$i." страницу\">&nbsp;".$i."&nbsp;</a>¦");
       echo 
$navigition;
      }
  }
 
?>

  Ответить  
 
 автор: SHAman   (27.02.2011 в 16:13)   письмо автору
 
   для: NeoMey   (27.02.2011 в 14:11)
 

Нужно обращаться к скрипту. Передавать ему имя, либо идентификатор нужного файла (проследить чтобы нельзя ему было передать чтото вроде file=../../../../../.htpasswd). Второй параметр - страница.

Скрипт открывает нужный файл и сплитит его нужным образом. Либо по разделительным меткам, либо по какому-то другому алгоритму. Затем отдает кусок, соответствующий странице.

Самая сложность - рассплитить файл на куски грамотно. Я бы ориентировался на закрывающие </p>, </table>, </ul>,</ol>

К концу каждого куска нужно присовокуплять ссылку на этот же файл, но следующую страницу.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования