Вопрос по PHP
Вечер добрый.
Подскажите плз
есть PHP код который сканирует папку c помощью функции Scandir и выводит все изображения на html страничку.
<?php $directory = 'images/';
$scandir = scandir($directory);
for ($i=0; $i<count($scandir); $i++)
{
if ($scandir[$i] != '.' && $scandir[$i] != '..')
{
echo '<img src="'. $directory . $scandir[$i] . '" alt="'. $scandir[$i] . '" />';
}
}
?>
Подскажите пожалуйста, как реализовать такой сценарий:
Пример: scandir от сканировал папку с фото, там 5 фото, каждой фотке он присвоил переменную, а уже после эти переменные на HTML страничке обрабатываются css стилями.
просто нужно каждую фотку разными стилями обрабатывать, не как не могу понять как это можно сделать?
Подскажите плз как можно это реализовать?
4 ответов
Согласен по поводу хранения я в базе данных картинок.
Что касается присвоения с помощью php классов. На сколько я понимаю, судя по css, что у каждой картинке должен быть свой уникальный класс:
img class="div-style1"
img class="div-style2"
img class="div-style3"
если я правильно понял, тогда нужно в вашем цикле написать что-то типа этого:
<?php
$directory = 'images/';
$scandir = scandir($directory);
for ($i=0; $i<count($scandir); $i++) {
if ($scandir[$i] != '.' && $scandir[$i] != '..') {
echo '<img class="div-style'.$i+1.'" src="'. $directory . $scandir[$i] . '" alt="'. $scandir[$i] . '" />';
}
}
?>
соответственно, данный php-код сгенерирует class div-style-1, 2 и т.д.
окей. Поясню: Задача
Пользователи кладут каждый час новые картинки в папку в пределах 10 шт.
Нужно картинки которые положили в папку вывести на большую плазму ТВ. Картинки должны меняться анимацией каждые 5 -10 мин.
Загрузили новые картинки в папку, старые удалили, Новые Картинки крутятся анимацией на ТВ.
Я разобрался отдельно как сделать: отдельно анимацию заданных картинкой делать где используется - html и css
разобрался как сделать сканирование папки где находятся фото( с помощью PHP) c выводом на html страничку.
а нужно показывать на HTML странице по одной картинке, плавно делая анимацию на следующую.
а т.к. анимацией делается с помощью @keyframes
что бы плавно сменялась анимация картинка на другую кратинку нужно каждой картинке дать класс
что то типа вот этого:
@keyframes div-style1
{
from { opacity: 1; }
16% { opacity: 1; }
25% { opacity: 0; }
91% { opacity: 0; }
to { opacity: 1; }
}
@keyframes div-style2
{
from { opacity: 0; }
16% { opacity: 0; }
25% { opacity: 1; }
41% { opacity: 1; }
50% { opacity: 0; }
to { opacity: 0; }
@keyframes div-style3
{
from { opacity: 0; }
16% { opacity: 0; }
25% { opacity: 1; }
41% { opacity: 1; }
50% { opacity: 0; }
to { opacity: 0; }
и я не как не допру, как мне в PHP к каждой фотке присвоить класс и уже с этими классами работать в CSS?
В базу загружать фото не кто не будет... им подавай папку..
как мне кажется похоже на правду.. подскжите плз, как тогда записать это в index.php?
!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="css/style.css">
<title>Document</title>
</head>
<body>
<div class="main">
<div class="dashboard">
<div class="div-style1"><img src=<?php $files = require 'php/scanfolder.php';?>
</div>
<div class="div-style2"><img src=<?php $files = require 'php/scanfolder.php';?>
</div>
<div class="div-style3"><img src=<?php $files = require 'php/scanfolder.php';?>
</div>
</div>
</div>
</body>
</html>
я вот записал так и у меня совсем нечего не отображается, подскажите как эти div-stile3 прописать?
Не пойму зачем сканировать папку, когда можно в базе имена картинок хранить и выводить в цикле одним запросом к базе.
А если в вашем коде, если на каждое второе фото нужно другой класс к картинке, можно сделать типа такого:
if($i % 2) {
echo "картинка с одним классом";
} else {
echo "картинка с другим классом":
}