Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 8 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Вот значит код на PHP

Код:
<?php
function img()
{
    global $f, $f1, $f2;
    static $nimg=0;
    $nimg++;
    return '<a href="img'.$f.$f1.$f2.$nimg.'.png"><img src="img'.$f.$f1.$f2.$nimg.'.png"></a>';
}
function paginate_file($howmuch, $filename)
{
    $out = array();
    $strings = file($filename);
    $page_num = @$_GET['page'];

    $total_pages = ceil(count($strings) / $howmuch);
    if($page_num<1 || $page_num>$total_pages) $page_num = 1;
    $offset = ($page_num-1) * $howmuch;
    for($i=$offset; $i<($offset+$howmuch)&&isset($strings[$i]); $i++)
{
    if(stristr($strings[$i],'#img') )
    {
        $strings[$i] = str_replace('#','',$strings[$i]); # убираем декорации
        $strings[$i] = eval($strings[$i].';'); # выполняем строку кода
    }
        $out[]=$strings[$i]; # добавляем в выходной массив
}
    $pages = range(1, $total_pages);

            return array($out, $pages);
}


list($items, $pages) = paginate_file(20, "$f$f1$f2.txt");
$npages = count($pages);
if ($npages > 1)
{
echo '| ';
foreach($pages as $number) echo '<a href="'.$_SERVER["PHP_SELF"].'?page='.$number.'&f='.$f.'&f1='.$f1.'&f2='.$f2.'">'.$number.'</a> | ';
echo '<br>';
}
foreach($items as $item) print ($item."<br>\n");
?>


Необходимо чтобы страницы разделялись по 20 строк, брались из файла $f$f$f2.txt. В том файле может быть строчка #img()# на отдельной строке, при нахождении этой строки должна выполнятся функция img() и появляться картинка на 1 номер больше чем предидущая. Т.е. $f$f1$f2$nimg.png со ссылкой на нее же.Так вот при нахождении #img()# в файле функция не выполняется, она то может и выполняется, но по крайней мере вместо картинки выводится пустая строчка.
:beer:



Партнер
 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
мдя уж, я лично ничего не понял, ты бы пример твоего текстового файла привел


 

Ray Adams писал(а):
пример твоего текстового файла

Ради бога например

чem выwe дaвлeнue u чem 6oльwe koнu,eнтpau,uя pacтвopeннoro вew,ecтвa, тem 6oльwe вew,ecтвa 6yдeт aдcop6upoвaтьcя нa noвepxнocтu, oднako nponopu,uoнaльнocть дoлжнa
нocuть нe npяmoй, a эkcnoнeнu,uaльный xapakтep. Этo noлoжeнue выpaжaeтcя эmnupuчeckum ypaвнeнuem
#img()#
Uлu
#img()#
, (11.3)
rдe x - macca aдcop6upoвaннoro вew,ecтвa, npuxoдяw,aяcя нa 1 r aдcop6upyюw,ero maтepuaлa, r; p -paвнoвecнoe дaвлeнue;
C - paвнoвecнaя koнu,eнтpau,uя; K u n - koнcтaнты.
Пepenucывaя ypaвнeнue в лorapuфmuчeckoй фopme, noлyчaem
#img()#
#img()#
(11.4)


Добавлено спустя 2 минуты, 55 секунд:
Ray Adams
Ну вообщето текстовый файл будет выглядеть побольше
Т.е. на месте #img()# должны поидее вставляться картинки типа 123.png.
А вот вместо картинок у меня только пустые строки!
Причем весь этот текстовый файл будет делиться на страницы, по 20 строчек на каждой!


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
Ну так более понятно, значить у тебя простой текстовый файл в обычном текстовом формате?
Более менее понятно, только вот где же имя файла картнинки то? У тебя везде #img()#

Рабиение страниц идет строго по 20 строк? А вдруг 21 строкой идет картинка от прошлой страницы? Вообще я бы посоветовал делать так, в самом файле вводи скажем такой текст #pagebreak# в том месте, где тебе лучше всего разбить страницу. Так будет более правильно :)


 

С разбиением страниц я вроди как разобрался
Код:
if(stristr($strings[$i],'#img') )
        $strings[$i] = img();

, а вот
Картинки, при переходе начинают исчисляться заново, т.е.
1page: 121.png, 122.png, 123.png, 124.png
2page: 121.png, 122.png
3page: 121.png, 122.png, 123.png
и т.д.
Проблема я думаю ясна надо 9 картинок заставить располагаться по порядку т.е.
1page: 121.png, 122.png, 123.png, 124.png
2page: 125.png, 126.png
3page: 127.png, 128.png, 129.png


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
Передавай в скрип на следующую страницу последний использованный номер картинки с прошлой страницы, а в скрипте проверяй, если этот параметр не передался значить присвоить ему 1 иначе продолжить увеличивать.

Добавлено спустя 2 минуты, 2 секунды:
Честно говоря не понимаю на кой тебе это? Практически ты просто парсиш обычный текс в HTML, так можно было сразу его в HTML прямо с картинками создавать и делить только на страницы.


 

Ray Adams
Да я так и сделал (в HTML) и не стал мозги себе и другим компостировать!
Спасибо!

Добавлено спустя 2 минуты, 38 секунд:
И еще такая фишка с прибавлением не получится, если переходиш например с первой стр. на 3ю!


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
Цитата:
И еще такая фишка с прибавлением не получится, если переходиш например с первой стр. на 3ю!

Тогда тебе заранее надо было бы считать. :)


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 8 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan