За последние 24 часа нас посетили 22745 программистов и 1225 роботов. Сейчас ищут 725 программистов ...

Галерея.

Тема в разделе "PHP для новичков", создана пользователем Poman, 22 окт 2017.

  1. Poman

    Poman Новичок

    С нами с:
    22 окт 2017
    Сообщения:
    4
    Симпатии:
    0
    Время суток доброе.
    Пишу переборщик папок и файлов в папках для сайта галереи.
    Код должен выполнять вот что.

    берем папку галерею (содержит папки с изображениями)
    берем все папки галереи кидаем в массив
    открываем первую папку из папки галереи
    выводим изображения из этой папки
    переходим к следующей папке в папке галерее.

    PHP:
    1. <?php
    2. $folder_gallery = 'image/'; // Папка с галерея
    3. $foldef = scandir ($folder_gallery); //берем все содержимое родительской папки
    4. $kp = 0; // $kp от "k perents"- родительский счетчик
    5. for ($ii = 0; $ii < count ($foldef);$ii++){// перебираем содержимое папки
    6.     if (($foldef[$ii] != ".") && ($folder[$ii] != ".."))
    7.     { //Текущий каталог и родительский пропускаем
    8.       $path_folder = $folder_gallery.$folder[$ii]; //получаем путь к папке с изображениями
    9.       //$path_folder; // Папка с изображениями
    10.         $filesdir = scandir($path_folder); // Берём всё содержимое директории
    11.         $k = 0; // Вспомогательный счётчик для перехода на новые строки
    12.         echo '<div class="photos">' ; // создаём контейнер для фографий
    13.         for ($i = 0; $i < count($filesdir); $i++)
    14.          { // Перебираем все файлы
    15.           if (($filesdir[$i] != ".") && ($filesdir[$i] != ".."))
    16.           { // Текущий каталог и родительский пропускаем
    17.           $path = $path_folder.$filesdir[$i]; // Получаем путь к картинке
    18.           echo '<div class="photo">'; //создаём класс для контейнера
    19.           echo "<img class='pic' src='$path' alt='' width='' height='' onclick='openImageWindow(this.src);'/> </div>"; // Вывод превью картинки
    20.           /* Закрываем строку, если необходимое количество было выведено, либо данная итерация последняя */
    21.           if ((($k + 1)  == count($filesdir))) ;
    22.           $k++; // Увеличиваем вспомогательный счётчик
    23.           }
    24.           }
    25.          echo "</div>"; // закрываем контейнер с фотографиями
    26.      if((($kp + 1) == count ($folder)));
    27.     $kp++;  
    28.     }
    29. }
    30. ?>

    как оно работает
    Notice: Undefined variable: folder in ... on line 6
    Notice: Undefined variable: folder in ... on line 8
     
  2. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    3. $foldef = scandir ($folder_gallery); //берем все содержимое родительской папки

    6. if (($foldef[$ii] != ".") && ($folder[$ii] != ".."))

    Осмысленно свойства и переменные нужно называть тогда и говнокода станет чуть меньше
     
  3. Poman

    Poman Новичок

    С нами с:
    22 окт 2017
    Сообщения:
    4
    Симпатии:
    0
    ну это ведь не принципиально...
     
  4. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Notice: Undefined variable: folder in ... on line 6
     
    Poman нравится это.
  5. Poman

    Poman Новичок

    С нами с:
    22 окт 2017
    Сообщения:
    4
    Симпатии:
    0
    что-то заработало. спс. буду дальше разбиратсо.
    --- Добавлено ---
    Можешь объяснить? плиз. там переменная, а там указание папки, они вообще недолжны пересекаться.
     
  6. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Что тебе объяснять? Ты перевод этой фразы не знаешь? Переводчиком воспользуйся Она состоит дословно ровно в том, что означает каждое слово. Прочитай его 50 раз, должен понять.
     
  7. Poman

    Poman Новичок

    С нами с:
    22 окт 2017
    Сообщения:
    4
    Симпатии:
    0
    доходчиво ответил. спс.