Как посредством php можно организовать постраничный вывод файлов?

dim-dem

Новичок
Как посредством php можно организовать постраничный вывод файлов?

Есть файлы, адреса которых:
/stat/022003/1/text.php
/stat/022003/2/text.php
/stat/022003/3/text.php
и т.д.

В строке браузера они имеют вид:
http://www.site.php?katalog=stat&podkatalog=022003&id=1
http://www.site.php?katalog=stat&podkatalog=022003&id=2
http://www.site.php?katalog=stat&podkatalog=022003&id=3

Как посредством php можно организовать постраничный вывод файлов?
 

Demiurg

Guest
readfile($_SERVER['DOCUMENT_ROOT'].'/'.$_GET['katalog'].'/022003/'.$_GET['id'].'/text.php');
 

WMix

герр M:)ller
Партнер клуба
а можно просто

include("/".$katalog."/".$podkatalog."/".$id."/".text.php");
 

Demiurg

Guest
WMix:
1. надо писать переносимые решения.
2. ты думаешь у него есть каталог /stat/ в файловой системе ?
3. а если в файле случайно окажется <?`rm -fr ./`?> или что то на подобии ?
 

dim-dem

Новичок
На перл этот код выглядит так:

$menu = $field{'menu'} ;
$position = $field {'position'};
# position in catalogue
$mode = $field {'mode'};

$mpath='stat';
$dir='../'.$mpath.'/';
$subdir=$dir.$menu.'/';

print "Content-type: text/html\n\n";

opendir(xd,$subdir) || die "can't opendir !";
@cats=readdir(xd);
$num=$#cats-1;
closedir(xd);

if ($position eq 'last')
{
$begin=$num;
}
elsif ($position eq 'first')
{
$begin=1;
}
else
{
$begin=$position;
}


open(artic,$subdir.$begin.'/text.shtml');
while(<artic>)
{
print;
}
close(artic);

open(indexf,$dir.'article.shtml');
while(<indexf>)
{

if(($begin-1)<1)
{
$image='images/sp.gif';
$link='#';
}
else
{
$image='images/prior.gif';
$link='home.html?menu='.$menu.'&mode='.$mode.'&position='.($begin-1);
}
$_=~s/_iprior_/$image/g;
$_=~s/_aprior_/$link/g;

if(($begin+1)>$num)
{
$image='images/sp.gif';
$link='#';
}
else
{
$image='images/next.gif';
$link='home.html?menu='.$menu.'&mode='.$mode.'&position='.($begin+1);
}
$_=~s/_inext_/$image/g;
$_=~s/_anext_/$link/g;

$image='images/archive.gif';
$link='home.html?mode=archive';
$_=~s/_iarchive_/$image/g;
$_=~s/_aarchive_/$link/g;

print;
}
close(indexf);

Как его переделать в php
 

dim-dem

Новичок
Проблема в этой части:

opendir(xd,$subdir) || die "can't opendir !";
@cats=readdir(xd);
$num=$#cats-1;
closedir(xd);

Помогите, плз. перевести в php.
 

Krisha

pain in the neck
dim-dem, перевод этого куска кода на пхп тебе всё равно ничего не даст, более того в форуме уже многократно обсуждался вопрос постраничного вывода.

P.S. И прочти правила форума.
 

dim-dem

Новичок
неужели никто не может объяснить, как работать с каталогами???
 
Сверху