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

Форум PHP

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

 

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

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

тема: Вычислить номер страницы
 
 автор: ГорячийСендвич   (29.01.2009 в 18:25)   письмо автору
 
 

Есть текстовый файл в кодировке windows-1251, я его просматриваю через скрипт, который разбивает содержимое файла на страницы по 5000 байт. Например, файл в 10000 байт будет разбит на 2 страницы с номерами 0 и 1.

Как можно получить номер страницы, зная смещение в файле? На примере того же файла в 10000 байт: если у нас смещение, скажем, 7284, то мы должны получить номер страницы "1".

Кажется просто. Из отношения x_страница / кол-во страниц = смещение / длина файла достать этот номер. Ан нет! Иногда получаются "промахи": попадаю на страницу дальше, чем нужно. Ни ceil, ни floor, ни round не помогают.

Как это сделали бы Вы?

  Ответить  
 
 автор: sim5   (29.01.2009 в 18:39)   письмо автору
 
   для: ГорячийСендвич   (29.01.2009 в 18:25)
 

Разбить страницу, записать массив смещений, вывести навигатор, по запросу номера которого получать смещение из массива.

  Ответить  
 
 автор: Trianon   (29.01.2009 в 19:13)   письмо автору
 
   для: ГорячийСендвич   (29.01.2009 в 18:25)
 

floor($offset/5000)

Как Вы смогли получить промах ?

  Ответить  
 
 автор: ГорячийСендвич   (29.01.2009 в 19:34)   письмо автору
 
   для: Trianon   (29.01.2009 в 19:13)
 

Спасибо! ><

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

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