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

Форум PHP

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

 

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

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

тема: загрузка большого текста мелкими кусками
 
 автор: Zebra   (13.09.2004 в 00:54)
 
 

Есть файл file.txt с текстом и текста там много (к примеру 1 мегабайт)
Нужно на странице Index.html загружается первые 100 слов (ЦЕЛЫХ СЛОВ чтоб последнее слово на странице было полным а не урезанным) файла file.txt
в низу была ссылка далее>
При переходе на нее человек читал текст далее.
Мне нужно чтоб текст делился "виртуально" т.е. чтоб на сервере не создавались файлы типа Index1.html Index2.html Index3.html и т.д.
На новой странице чтоб была ссылка начало вперед и назад.

Но хотелось бы чтоб и был поиск ... а смогу ли я потом его реализовать если текст будет делиться "виртуально "???

Вы подумаете что это изврат но ...
Некоторые сотовые телефоны могут загрузить файл определенного размера скажем 1400 байт
а у некоторых под 9000 байт . И хотелось бы предоставить выбор размера загружаемой страницы.
Так как кроме текста человеку придется лишний раз грузить теги.
1400 байт это согласитесь не так много в эти 1400 входит наверно 400 байт тегов :(

   
 
 автор: glsv (Дизайнер)   (13.09.2004 в 09:00)   письмо автору
 
   для: Zebra   (13.09.2004 в 00:54)
 

Но хотелось бы чтоб и был поиск ... а смогу ли я потом его реализовать если текст будет делиться "виртуально "???
Поиск по всему тексту можно сделать только если вы его сначала загрузите из файла. Пусть не на страницу, но на сервер.

>Нужно на странице Index.html загружается первые 100
Но у Вас ведь, наверное, ограничение по байтам, а не по словам. Т.е. нужно выводить определенное количество байт. Но при этом не должны разрываться слова. Наверное как то так нужно делать:


<?php 
$text 
file_get_contents("ttt.txt");
$start=$_GET['start'];

if (
$start==""$start=0;
$tmp substr ($text$start 200);
// определяем позицию с которой начнется вывод содержимого строки
// на следующей странице
$pos strrpos($tmp" ");
// Если пробел найден, то следующий вывод пойдет от этого пробела
// и заменяем переименную $tmp чтобы не было разрыва слова
if ($pos)
{
  
$start=$start+$pos;
  
$tmp substr($tmp$pos);
}
echo 
$tmp."<br>";
?>
<a href="index.php?start=<? echo $start ?>">Следующая страница</a>

Этот скрипт, конечно нужно доводить до ума. Хотя бы не загружать файл каждый раз при
обращении к странице. И, сейчас, на последней странице выводится только одно слово.

   
 
 автор: cheops   (13.09.2004 в 09:34)   письмо автору
 
   для: glsv (Дизайнер)   (13.09.2004 в 09:00)
 

>Этот скрипт, конечно нужно доводить до ума. Хотя бы не
>загружать файл каждый раз при
> обращении к странице.
Ну а без базы как его не загружать... да и не имеет это большого значения: если к файлу будет большое число обращений он из кэша вылазить не будет.

   
Rambler's Top100
вверх

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