За последние 24 часа нас посетили 52222 программиста и 3210 роботов. Сейчас ищут 1482 программиста ...

PHP scandir папки фото и применения css

Тема в разделе "PHP для новичков", создана пользователем maiker2k3, 3 сен 2018.

  1. maiker2k3

    maiker2k3 Новичок

    С нами с:
    13 апр 2018
    Сообщения:
    9
    Симпатии:
    0
    Всем привет.
    я PHP новичок, поэтому сильно не ругайте, постараюсь грамотно описать свою проблему.
    Должна быть страничка на которую выгружаются фотки, которые находятся в папке. На страничке показывается одна фотка и с помощью css она плавно делает слайдшоу на следующие картинки.
    Что бы понять как все делается. Я сделал 3 сайта
    index1.html - тут у меня в коде три фотки которые делают слайд шоу( в коде указаны ссылки на картинки)
    index2.php - Здесь у меня выполнение php скрипта scandir сканирует папку на наличие фоток и выводит их через echo на страничку все разом.
    index3.php - здесь я попытался соединить это все в одном сайте и тут у меня возникли проблемы, как указать в html коде ссылку на php скрипт (скан папки фото), что бы к нему применялись css стили..

    ниже код:
    index1.html вот пример как все получается.
    https://codepen.io/vladimir-ignatov/pen/NLjbdW
    HTML:
    1. <!DOCTYPE html>
    2.     <head>
    3.         <title>Плавная смена изображений</title>
    4.         <meta charset="windows-1251">
    5.         <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6.        
    7.         <style type="text/css">
    8.             @import url("styles.css");
    9.         </style>
    10.        
    11.     </head>
    12.     <body>
    13.         <div class="div-style">
    14.         <img src="/image-1.jpg" title="Image 1" class="img-style im-1">
    15.         <img src="/image-2.jpg" title="Image 2" class="img-style next im-2">
    16.         <img src="/image-3.jpg" title="Image 3" class="img-style next im-3">
    17.         <img src="/image-4.jpg" title="Image 4" class="img-style next im-4">
    18.      </div>
    19.   </body>
    20.      
    21. </html>
    Код (CSS):
    1. @keyframes fadeIm-1
    2. {
    3. from  { opacity: 1; }
    4. 16%  { opacity: 1; }
    5. 25%  { opacity: 0; }
    6. 91%  { opacity: 0; }
    7. to  { opacity: 1; }
    8. }
    9.  
    10. @keyframes fadeIm-2
    11. {
    12. from  { opacity: 0; }
    13. 16%  { opacity: 0; }
    14. 25%  { opacity: 1; }
    15. 41%  { opacity: 1; }
    16. 50%  { opacity: 0; }
    17. to  { opacity: 0; }
    18. }
    19.  
    20. @keyframes fadeIm-3
    21. {
    22. from  { opacity: 0; }
    23. 41%  { opacity: 0; }
    24. 50%  { opacity: 1; }
    25. 66%  { opacity: 1; }
    26. 75%  { opacity: 0; }
    27. to  { opacity: 0; }
    28. }
    29.  
    30. @keyframes fadeIm-4
    31. {
    32. from  { opacity: 0; }
    33. 66%  { opacity: 0; }
    34. 75%  { opacity: 1; }
    35. 91%  { opacity: 1; }
    36. to  { opacity: 0; }
    37. }
    38.  
    39. .div-style
    40. {
    41. position: relative;
    42. text-align: center;
    43. width: 99%;
    44. }
    45.  
    46. .img-style
    47. {
    48. width: 33.3%;
    49. margin-top: 8px;
    50. border: 1px solid #0000ff;
    51. animation-duration: 24s;
    52. animation-iteration-count: infinite;
    53. }
    54.  
    55. .img-style.next
    56. {
    57. position: absolute;
    58. left: 33.3%;
    59. opacity: 0;
    60. }
    61.  
    62. .img-style.im-1
    63. {
    64. animation-name: fadeIm-1;
    65. }
    66.  
    67. .img-style.next.im-2
    68. {
    69. animation-name: fadeIm-2;
    70. }
    71.  
    72. .img-style.next.im-3
    73. {
    74. animation-name: fadeIm-3;
    75. }
    76.  
    77. .img-style.next.im-4
    78. {
    79. animation-name: fadeIm-4;
    80. }
    Index2.php
    HTML:
    1.  <head>
    2.    <meta charset="utf-8" />
    3.    <link type="text/css" rel="stylesheet" href="css/styles.css" media="all" />
    4.   <title> =) </title>
    5.   </head>
    6.   <body>
    7.  
    8.       <div id="title">
    9.         <p>Сканирование папки с картинками с помощью PHP-функции scandir();</p>
    10.       </div>
    11.  
    12.          <div id="main-container">
    13.              <div id="img">                  
    14.                 <div class="img">      
    15.                    <?php $files = require 'php/script1.php';?>            
    16.                 </div>
    17.          
    18.            </div>
    19.  
    20.   </div>
    21.  
    22.  
    23. </body>
    24. </html>
    PHP:
    1. <?php $directory = 'images/';
    2.                       $scandir = scandir($directory);
    3.  
    4.                        for ($i=0; $i<count($scandir); $i++)
    5.          
    6.                        {
    7.                           if ($scandir[$i] != '.' && $scandir[$i] != '..')
    8.            
    9.                           {
    10.                             echo '<img src="'. $directory . $scandir[$i] . '" alt="'. $scandir[$i] . '" />';
    11.                           }
    12.            
    13.                        }
    14. ?>

    index3.php

    HTML:
    1.  <head>
    2.    <meta charset="utf-8" />
    3.    <link type="text/css" rel="stylesheet" href="css/styles.css" media="all" />
    4.   <title> =) </title>
    5.   </head>
    6.  
    7.   <style>
    8.   @import url("/css/animation.css");
    9.  
    10.   <body>
    11.  
    12.       <div id="title">
    13.         <p>Сканирование папки с картинками с помощью PHP-функции scandir();</p>
    14.       </div>
    15.  
    16.          <div id="main-container">
    17.              <div id="img">                  
    18.                 <div class="img">
    19.                     <div class="div-style">
    20.                         <img src="<?php $files = require 'php/script1.php';?>"  title="Image 1" class="img-style im-1">  
    21.                     </div>                
    22.                 </div>
    23.          
    24.             </div>
    25.  
    26.   </div>
    27.  
    28.  
    29. </body>
    30. </html>
    вот так не работает.... получается то что на сркиншоте...
    подскажите что поправить нужно?
     

    Вложения:

    • 2.JPG
      2.JPG
      Размер файла:
      69 КБ
      Просмотров:
      4
  2. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    Отсканируйте, а потом в шаблоне выводите в цикле. В шаблонах лучше использовать альтернативный синтаксис.
    --- Добавлено ---
    PHP:
    1.              <div id="img">                
    2.                 <div class="img">
    3.                     <div class="div-style">
    4. <?php foreach ($scandir as $i=>$name): ?>
    5.                         <img src="/images/<?= $name ?>"  title="Image <?= $i ?>" class="img-style im-<?= $i ?>">
    6. <?php endforeach; ?>
    7.                     </div>              
    8.                 </div>
    9.             </div>
     
  3. maiker2k3

    maiker2k3 Новичок

    С нами с:
    13 апр 2018
    Сообщения:
    9
    Симпатии:
    0

    а можно пояснить чучуть для чего переменная $i, вот в этой строчке? <img src="/images/<?=$name?>" title="Image <?=$i?>" class="img-style im-<?=$i?>">

    я видимо туго соображаю и не понимаю зачем делать $scandiras$i=>$name ?
     
  4. maiker2k3

    maiker2k3 Новичок

    С нами с:
    13 апр 2018
    Сообщения:
    9
    Симпатии:
    0
    По итогу все равно получается:


    [ 3.JPG
     
  5. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    Нафиг вы в цикл втащили 4 повторения? Для чего нужен $i, сложнее не понять, чем понять. Но это был просто «побочный пример». Подгоняйте под свои нужды. Если картинки хранятся в корне, уберите префикс /images/ и впредь больше думайте головой, чем занимайтесь тупым копипастом.
    --- Добавлено ---
    Оставьте просто слэш.
     
  6. maiker2k3

    maiker2k3 Новичок

    С нами с:
    13 апр 2018
    Сообщения:
    9
    Симпатии:
    0
    прежде чем написать я попробовал разные варианты..
    показал, тот который, последний был, что пробовал..
    Картинки находятся в папке images.
    все равно не отображается не одной картинки..
     

    Вложения:

    • 4.JPG
      4.JPG
      Размер файла:
      132 КБ
      Просмотров:
      4
  7. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    Изучите результат (на скрине он не детализирован) и, если он в порядке, см., чего уже не хватает статику. Например, вы уверены, что корнем сайта является SiteT1, а не inetpub?
    --- Добавлено ---
    Это был только пример. Я сказал, что вам нужно сделать. Успехов.
     
  8. maiker2k3

    maiker2k3 Новичок

    С нами с:
    13 апр 2018
    Сообщения:
    9
    Симпатии:
    0
    Это что имеется ввиду под словом статику? не совсем понял.
    абсолютно
    уверен.