我目前正在制作一些代码,试图制作一个广告横幅,它们会旋转我横幅文件夹中的所有图片。我知道如果我陈述阵列中的每个图像,我可以制作一个旋转的横幅,但我想要做的是创建一个使用文件夹内所有图像的横幅,这样我就不必每次都返回并重新编码新图像上传到横幅文件夹。横幅图像不需要分配URL,因为它们仅用于在此阶段显示。我试图在这个div中显示横幅:
ResultSetMappingBuilder
任何人都可以请我为我提供一个方法吗?这甚至可能吗?
答案 0 :(得分:0)
目前还不清楚您是否只想返回目录中的所有图像,或者是否要选择特定图像(例如最新上传的图像)。
您要做的第一件事就是查看scandir()
(Docs)并使用该功能列出目录中的所有文件,然后选择您感兴趣的文件。 scandir()
具有$sorting_order
参数,您可以在其中定义按升序或降序按字母顺序返回文件。
如果您想选择最新上传的那个,可以使用此处找到的解决方案(PHP: Get the Latest File Addition in a Directory)。
$lastMod = 0;
$lastModFile = null;
// Loop through all entries/files in the directory of the path.
foreach (scandir('path/to/directory/') as $entry) {
// If the entry is a file, and the time updated is later than previous file.
if (is_file($dir.$entry) && filectime($dir.$entry) > $lastMod) {
// ... if it is, then set the current file as the latest file.
$lastMod = filectime($dir.$entry);
$lastModFile = $entry;
}
}
答案 1 :(得分:0)
也许是这样的事情?
<!DOCTYPE html>
<html>
<body>
<?php
echo '<div id="banner">';
$dir = 'Images/banner';
$images = glob("$dir/*.{jpg,jpeg,png,gif,bmp}", GLOB_BRACE);
foreach($images as $image){
echo "<img class='bannerImages' src='$image'>";
}
echo '</div>';
?>
<script>
var myIndex = 0;
carousel();
function carousel() {
var x = document.getElementsByClassName("bannerImages");
for (var i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
myIndex++;
if (myIndex > x.length) {
myIndex = 1;
}
x[myIndex-1].style.display = "block";
setTimeout(carousel, 2000);
}
</script>
</body>
</html>