Maloy clickonline
13-01-2005, 22:01
Вот значит код
<?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()# в файле функция не выполняется, она то может и выполняется, но по крайней мере вместо картинки выводится пустая строчка.
<?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()# в файле функция не выполняется, она то может и выполняется, но по крайней мере вместо картинки выводится пустая строчка.