$_SESSION+Array
Здраствуйте
скрипт для поиска и постраничного вывода картинок с директории .
Попробую рассказать что хочу сделать
1. Прочитать в масив имена всех файлов с директории.
Сохранить имена файлов в сессию.
2. вывести 20 файлов начиная с n-ого элемента масива
В принципе всё работает.
Но поскольку $_SESSION пытаюсь юзать впервые, то меня терзают смутные сомнения о правильности использования. Замечено, что сессия не удаляется из временной директории.
(Win2000 PHP 4.1.2).
Может есть более изящное решение?
Буду рад выслушать все замечания и предложения.
Спасибо
session_start();
session_register("FILE_ARRAY");
//////////////////////////
// Выводим форму
//////////////////////////////////////
//если нажали кнопку ищем в массиве файл под именем $filename
if (isset($search)){
foreach ($_SESSION['FILE_ARRAY'] as $_SESSION['FILE_ARRAY']){
if ($filename == $_SESSION['FILE_ARRAY']){echo "Файл ".$file." найден";}
}
}
//////////////////////////////
//если не нажата кнопка поиск
if (!isset($search)){
$FILE_ARRAY = array ();
$dir = opendir ("./pic/");
while($file = readdir($dir))
{
if ($file == '.' or $file == '..'){continue;}
$_SESSION['FILE_ARRAY'][] = $file;
}
////////////////////////////
// Вывод 20 файлов
if (!isset($n)){$n='0';}
for ($i=$n*10; $i<($n*10+20); $i++){
if (($i>count($_SESSION['FILE_ARRAY'])-'1') || $i<'0'){break;}//останавливаем цикл если i больше чем количество елементов масива или меньше нуля
echo $i.$_SESSION['FILE_ARRAY'][$i]."<br>";
}
if ($n!=='0'){
echo "<a href=\"".$PHP_SELF."?n=".($n-2)."\">Предыдущих 20</a> ";
}
if (count($_SESSION['FILE_ARRAY']) / ($n*'10'+'20') > '1'){
echo "<a href=\" ".$PHP_SELF."?n=".($n+2)."\">Следуйщих 20</a> ";
}
Здраствуйте
скрипт для поиска и постраничного вывода картинок с директории .
Попробую рассказать что хочу сделать
1. Прочитать в масив имена всех файлов с директории.
Сохранить имена файлов в сессию.
2. вывести 20 файлов начиная с n-ого элемента масива
В принципе всё работает.
Но поскольку $_SESSION пытаюсь юзать впервые, то меня терзают смутные сомнения о правильности использования. Замечено, что сессия не удаляется из временной директории.
(Win2000 PHP 4.1.2).
Может есть более изящное решение?
Буду рад выслушать все замечания и предложения.
Спасибо
session_start();
session_register("FILE_ARRAY");
//////////////////////////
// Выводим форму
//////////////////////////////////////
//если нажали кнопку ищем в массиве файл под именем $filename
if (isset($search)){
foreach ($_SESSION['FILE_ARRAY'] as $_SESSION['FILE_ARRAY']){
if ($filename == $_SESSION['FILE_ARRAY']){echo "Файл ".$file." найден";}
}
}
//////////////////////////////
//если не нажата кнопка поиск
if (!isset($search)){
$FILE_ARRAY = array ();
$dir = opendir ("./pic/");
while($file = readdir($dir))
{
if ($file == '.' or $file == '..'){continue;}
$_SESSION['FILE_ARRAY'][] = $file;
}
////////////////////////////
// Вывод 20 файлов
if (!isset($n)){$n='0';}
for ($i=$n*10; $i<($n*10+20); $i++){
if (($i>count($_SESSION['FILE_ARRAY'])-'1') || $i<'0'){break;}//останавливаем цикл если i больше чем количество елементов масива или меньше нуля
echo $i.$_SESSION['FILE_ARRAY'][$i]."<br>";
}
if ($n!=='0'){
echo "<a href=\"".$PHP_SELF."?n=".($n-2)."\">Предыдущих 20</a> ";
}
if (count($_SESSION['FILE_ARRAY']) / ($n*'10'+'20') > '1'){
echo "<a href=\" ".$PHP_SELF."?n=".($n+2)."\">Следуйщих 20</a> ";
}