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

Форум PHP

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

 

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

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

тема: Каталог картинок
 
 автор: Dims   (06.12.2004 в 22:32)   письмо автору
 
 

Как сделать постраничный вывод картинок (GIF) из папки не используя текстовые файлы или MySQL?

   
 
 автор: cheops   (06.12.2004 в 23:59)   письмо автору
 
   для: Dims   (06.12.2004 в 22:32)
 

Следует отталкиваться от следующего скрипта:
<?php
  
// Путь к директории
  
$dirname "F:\\photoes\\2";
  
// Выводим по 9 фотографий на странице
  
$pnumber 9;
  
// Скрипт, принимает параметр start,
  // который определяет начиная с какой
  // фотографии их следует выводить 
  
if(empty($_GET['start'])) $_GET['start'] = 0;
  
// Открываем директорию 
  
$dir opendir($dirname);
  if(!
$dir) exit("Директория не открыта"); 
  
// Подсчитываем число картинок в директории
  
$count 0;
  
// В цикле считываем её содержимое 
  
while($file readdir($dir)) 
  { 
    
// Если текущий объект является файлом - считаем его 
    
if($file != "." && $file != ".."$filenames[] = $file
  } 
  
// Закрываем директорию 
  
closedir($dir); 
  
// Заносим число файлов в массив
  
$count count($filenames);
  
// После того, как мы выяснили число картинок
  // в директории, нужно проследить не вылазит ли значение
  // параметра start за допустимое
  
if(($_GET['start'] + $pnumber)>$count$_GET['start'] = $count $pnumber;
  
// Выводим фотографии
  
echo "<table border=1>";
  
$k 0;
  
print_r($filenames);
  for(
$i $start$i<$start $pnumber; ++$i)
  {
     ++
$k;
     if(
$k==1) echo "<tr><td><img alt='$filenames[$i]' src=$filenames[$i]></td>"
     else if(
$k!=3) echo "<td><img alt='$filenames[$i]' src=$filenames[$i]></td>"
     else
     {
       
$k 0;
       echo 
"<td><img alt='$filenames[$i]' src=$filenames[$i]></td></tr>\n"
     }
  }
  echo 
"</table>";
  
// Выводим ссылки на другие страницы
  
$number = (int)($count/$pnumber);
  if((float)(
$count/$pnumber) - $number != 0$number++;
  for(
$i 1$i<=$number$i++)
  {
    if(
$number == $i)
    {
      if(
$start == $i)
        echo 
"[".(($i 1)*$pnumber 1)."-$count]";
      else
        echo 
"<a href=readdir.php?start=".(($i 1)*$pnumber).">[".(($i 1)*$pnumber 1)."-$count]</a>";
    }
    else
    {
      if(
$start == $i)
        echo 
"[".(($i 1)*$pnumber 1)."-".$i*$pnumber."]";
      else
        echo 
"<a href=readdir.php?start=".(($i 1)*$pnumber).">[".(($i 1)*$pnumber 1)."-".$i*$pnumber."]";
    }
  }
?>

   
 
 автор: Dims   (07.12.2004 в 20:46)   письмо автору
 
   для: cheops   (06.12.2004 в 23:59)
 

А как поменять директорию? Допустим, на /img? Он ее ненаходит!

   
 
 автор: Akira   (07.12.2004 в 21:23)   письмо автору
 
   для: Dims   (07.12.2004 в 20:46)
 

Находит ;) Правда я бы внес пару изменений =) readdir.php?start= на $PHPSELF.'?start

   
 
 автор: cheops   (07.12.2004 в 23:53)   письмо автору
 
   для: Dims   (07.12.2004 в 20:46)
 

Это не сложно, но возникает вопрос как расположены друг относительно друга /img и приведённый выше скрипт...

   
 
 автор: Dims   (08.12.2004 в 14:04)   письмо автору
 
   для: cheops   (07.12.2004 в 23:53)
 

>Это не сложно, но возникает вопрос как расположены друг
>относительно друга /img и приведённый выше скрипт...


Скрипт и папка /img находяться в одной папке. А папку /img он ненаходит:

Array ( [0] => gif (1).gif [1] => gif (10).gif [2] => gif (11).gif [3] => gif (12).gif [4] => gif (13).gif [5] => gif ... и т.д.

   
 
 автор: cheops   (08.12.2004 в 14:41)   письмо автору
 
   для: Dims   (08.12.2004 в 14:04)
 

А как прписана папка img? Так:
<?php 
  
// Путь к директории 
  
$dirname "img"
?>


>Array ( [0] => gif (1).gif [1] => gif (10).gif [2] => gif
>(11).gif [3] => gif (12).gif [4] => gif (13).gif [5] => gif
>... и т.д.
А это что за загадочная конструкция? Это то, что должно быть?

   
Rambler's Top100
вверх

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