Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как вывести по 10 фоток на страницу, как вывести по 10 фоток на страницу 
:(
    Опции темы
leon2009
  Дата 19.4.2016, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 26.3.2016

Репутация: нет
Всего: 1



Клева!!! правда ничего не понятно, но все работает!  smile 
я с таким кодом в первый раз столкнулся. Спасибо! 
сейчас буду разбирать его!

Добавлено через 12 минут и 21 секунду
он читает дат и выводит все из них и еще уровень есть!
Код

<?php
$limit=2;
$dir = 'db/';
// это инициализация нашего класса.
$image_with_pages = new ImageWithPages($dir, '*.{dat}', $limit);
// это - текущая отображаемая страница
$currentpage = !isset($_GET['from']) ? 1 : $_GET['from'];
// список картинок для страницы
$imagelist = $image_with_pages->imagesAtPage($currentpage);
if ($imagelist) {
    foreach ($imagelist as $i) {
      //  echo "<img src='" . $i . "' alt=''/>";        
$conf = parse_ini_file( $i ); 
    if ($conf['level']=="1")
{
echo "<tr onMouseOver=this.style.backgroundColor='#EFEFEF'; onMouseOut=this.style.backgroundColor='#FFFBE2'>
<th>$conf[data]<br><strong class=strong1>$conf[city]</strong></th>
<td>$conf[foto]</td>
<td>$conf[model]</td>
<td>$conf[year]</td>
<td>$conf[power] ($conf[force])<br>$conf[fuel]<br>$conf[kpp]<br>$conf[transmission]</td>
<td>$conf[km]</td>
<td>"; echo number_format( $conf[price], 0, ',', ' ' );echo " руб.</td>
</tr>";
}
echo "</table>";        
    }
}
// а тут мы выводим список страниц
for ($page_number = 1; $page_number <= $image_with_pages->total_pages; $page_number++) {
    if ($page_number != $currentpage)
        echo "<a href='" . $PHP_SELF . "?from=" . $page_number . "'> " . $page_number .
            " </a>";
    else echo $page_number ;
}
class ImageWithPages
{
    var $total_pages = 0,
       // $limit = 1,
        $_imagelist = array();
    function __construct($dir, $glob, $limit)
    {
        $this->limit = $limit;
        $this->readRecursive($dir, $glob);
        $this->total_pages = ceil(count($this->_imagelist) / $limit);
    }
    function readRecursive($dir, $glob)
    {
        $images = glob($dir . $glob, GLOB_BRACE);
        $this->_imagelist = array_merge($this->_imagelist, $images);
        $dirs = glob($dir . '*', GLOB_ONLYDIR);
        if (!empty($dirs)) {
            foreach ($dirs as $d) {
                $this->readRecursive($d . '/', $glob);
            }
        }
    }
    function imagesAtPage($page)
    {
        return array_slice($this->_imagelist, ($page - 1) * $this->limit, $this->limit);
    }
}
?>

PM MAIL   Вверх
whatisnot
Дата 20.4.2016, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: 1
Всего: 2



-> readRecursive - а не накладно ли такое удовольствие? Файловые операции дорогие операции и чем больше будет файлов, тем дороже обходится такой вывод будет. Может все-таки разумнее вести учет, и лучше в базе, но можно и в файле каталога?  
PM MAIL   Вверх
ksnk
Дата 20.4.2016, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



whatisnot, Это мне или топикстартеру? smile На предыдущей странице мы с igorold уже пытались на это намекнуть.
По сути - да, все файлы - в базу, все загрузки через единый центр учета и контроля, чистка старых картинок по времени и так далее... Вряд ли подойдет для учебной задачи начального уровня...  smile 



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
leon2009
  Дата 21.4.2016, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 26.3.2016

Репутация: нет
Всего: 1



в общем во что получилось! http://angar18.esy.es/ 
а до базы мы еще не дошли. ну я зная как настроить mysql. user login pass host db.
т.е. в будущем нужно всю инфу закидывать в базу данных? и от туда картинки с описанием забирать!?

осталось админку сделать, эт попробую сам, т.к. уже сессии видел в примерах!

Это сообщение отредактировал(а) leon2009 - 21.4.2016, 14:39
PM MAIL   Вверх
ksnk
Дата 21.4.2016, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата(leon2009 @  21.4.2016,  14:38 Найти цитируемый пост)
 в будущем нужно всю инфу закидывать в базу данных? и от туда картинки с описанием забирать!?
 Да. Проблема в том, что сканирование каталогов довольно длительная операция. Особенно заметно, если в каталоге много фотографий - с десяток тысяч, например. Так что обычно, загрузка файлов делается так, чтобы файлы не собирались больше 1000 в одном каталоге.
В базе, к тому же, удобно хранить сопроводительную информацию - оригинальное название файла, текущее название файла, размер, дата создания. Работать с таким данными удобнее из базы, чем перечитывать файлы. Правда за базой нужно следить, чтобы файлы в базе соответствовали файлам на диске... Дело не сложное, но хлопотное, все получается завязано друг на друга - лучше почитать про такое в какой-нибудь CMS-ке, в исходниках загрузчика файлов... 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
whatisnot
Дата 22.4.2016, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: 1
Всего: 2



Цитата(leon2009 @  21.4.2016,  14:38 Найти цитируемый пост)
а до базы мы еще не дошли.



Ну так на первых порах можно сделать и на файле учет - добавление фото, это всегда на много реже операция, чем их вывод по запросу. Значит при добавлении добавлять новое имя файла в массив (возможно с путями, если файл один на дерево каталогов), который хранить в JSON формате.
PM MAIL   Вверх
igorold
Дата 27.4.2016, 06:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: нет
Всего: 17



Если сделать добавление фотографий через интерфейс просмотра, то учет фоток будет автоматизирован.

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1367 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.